반응형
Android에서 애플리케이션 설치 날짜 가져 오기
Android 기기에서 "애플리케이션이 설치된 날짜"를 찾을 수있는 방법이 있습니까?
광범위하게 검색했지만 관련 답변을 찾을 수 없습니다.
PackageManager
문서 / 코드를 통해 응용 프로그램이 설치된 날짜에 대한 정보를 찾을 수 없습니다 .
또는 이것 ( API 레벨 9 이상!) :
long installed = context
.getPackageManager()
.getPackageInfo(context.getPackageName(), 0)
.firstInstallTime
;
이 코드를 사용하십시오.
PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);
String appFile = appInfo.sourceDir;
long installed = new File(appFile).lastModified();
다음 중 하나를 시도
/**
* The time at which the app was first installed. Units are as per currentTimeMillis().
* @param context
* @return
*/
public static long getAppFirstInstallTime(Context context){
PackageInfo packageInfo;
try {
if(Build.VERSION.SDK_INT>8/*Build.VERSION_CODES.FROYO*/ ){
packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
return packageInfo.firstInstallTime;
}else{
//firstinstalltime unsupported return last update time not first install time
ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 0);
String sAppFile = appInfo.sourceDir;
return new File(sAppFile).lastModified();
}
} catch (NameNotFoundException e) {
//should never happen
return 0;
}
}
처음 설치 한 경우
activity.getPackageManager().getPackageInfo( activity.getPackageName(), 0 ).firstInstallTime;
마지막으로 업데이트 된 시간
activity.getPackageManager().getPackageInfo( activity.getPackageName(), 0 ).lastUpdateTime;
이 메서드는 다음과 같은 문자열 형식으로 설치 날짜를 반환합니다 12/25/2016 10:38:02
.
private String getInstallDate() {
// get app installation date
PackageManager packageManager = getActivity().getPackageManager();
long installTimeInMilliseconds; // install time is conveniently provided in milliseconds
Date installDate = null;
String installDateString = null;
try {
PackageInfo packageInfo = packageManager.getPackageInfo(getActivity().getPackageName(), 0);
installTimeInMilliseconds = packageInfo.firstInstallTime;
installDateString = MiscUtilities.getDate(installTimeInMilliseconds, "MM/dd/yyyy hh:mm:ss");
}
catch (PackageManager.NameNotFoundException e) {
// an error occurred, so display the Unix epoch
installDate = new Date(0);
installDateString = installDate.toString();
}
return installDateString;
}
기타 유틸리티
/**
* Return date in specified format.
*
* @param milliSeconds Date in milliseconds
* @param dateFormat Date format
* @return String representing date in specified format
* <p>
* Date myDate = MiscUtilities.getDate(82233213123L, "dd/MM/yyyy hh:mm:ss.SSS");
*/
public static String getDate(long milliSeconds, String dateFormat) {
// Create a DateFormatter object for displaying date in specified format.
SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);
// Create a calendar object that will convert the date and time value in milliseconds to date.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliSeconds);
return formatter.format(calendar.getTime());
}
참고 URL : https://stackoverflow.com/questions/5311644/get-application-installed-date-on-android
반응형
'UFO ET IT' 카테고리의 다른 글
Python에서 AND 및 NOT 연산자 사용 (0) | 2020.12.06 |
---|---|
TTS (텍스트 음성 변환)-Android (0) | 2020.12.06 |
Usercontrol에서 이벤트를 만들고 Main Form에서 처리하는 방법은 무엇입니까? (0) | 2020.12.06 |
http와 https의 차이점 (0) | 2020.12.04 |
더 빠릅니다 : 컬렉션을 지우거나 새로 인스턴스화 (0) | 2020.12.04 |