Получить дату установки приложения на Android
есть ли способ узнать "дату, когда приложение было установлено" на устройстве Android.
искали широко, но не смогли найти соответствующий ответ.
не удалось найти ничего относительно даты, когда приложение было установлено через документацию/код PackageManager.
Спасибо большое.
Махим.
4 ответов:
или ( уровень 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; } }
этот метод возвращает дату установки в строковом формате, например
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; }
Comments