在Android上获取应用程序安装日期

mah*_*him 59 android install date

是否有办法在Android设备上找到"安装应用程序的日期".

广泛搜索,但无法找到相关答案.

通过PackageManager文档/代码安装应用程序时无法找到有关日期的任何内容.

非常感谢.马希姆.

Mar*_*iak 121

或者这个(API等级9以上!):

long installed = context
    .getPackageManager()
    .getPackageInfo(context.getPackag??eName(), 0)
    .firstInstallTime
;
Run Code Online (Sandbox Code Playgroud)

  • 对于所有复制和粘贴人员:```javalong installDate; try {installDate = context.getPackageManager().getPackageInfo(context.getPackageName(),0).firstInstallTime;} catch(PackageManager.NameNotFoundException e){installDate = Calendar. .的getInstance()getTimeInMillis();}``` (6认同)
  • 不幸的是,当卸载并重新安装应用程序时,会重置此日期. (2认同)
  • @BogdanShulga更新不会更改此日期,也可以查看lastUpdateTime. (2认同)

Sun*_*dey 23

使用此代码:

PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);
String appFile = appInfo.sourceDir;
long installed = new File(appFile).lastModified();
Run Code Online (Sandbox Code Playgroud)

  • 每次更新包时,此处返回的时间都会更改. (24认同)

小智 7

尝试其中之一

/**
 * 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;
    }
}
Run Code Online (Sandbox Code Playgroud)


Jos*_*ter 7

第一次安装

activity.getPackageManager().getPackageInfo( activity.getPackageName(), 0 ).firstInstallTime;
Run Code Online (Sandbox Code Playgroud)

上次更新时间

activity.getPackageManager().getPackageInfo( activity.getPackageName(), 0 ).lastUpdateTime;
Run Code Online (Sandbox Code Playgroud)