73 votes

Obtenir la date d'installation de l'application sur Android

Existe-t-il un moyen de connaître la "date à laquelle une application a été installée" sur un appareil Android.

J'ai effectué une recherche approfondie, mais incapable de trouver une réponse pertinente.

Impossible de trouver quoi que ce soit concernant la date d'installation de l'application dans la documentation / le code de PackageManager.

Merci beaucoup. Mahim.

151voto

Martin Matysiak Points 1691

ou celui-ci ( API Niveau 9 à partir de là !):

 long installed = context
    .getPackageManager()
    .getPackageInfo("package.name", 0)
    .firstInstallTime
;
 

26voto

Sunil Pandey Points 3605

Utilisez ce code:

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

8voto

guyland123 Points 371

Essayez un de ces

 /**
 * 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;
    }
}
/**
 * The time at which the app was last updated. Units are as per currentTimeMillis(). 
 * @param context
 * @return
 */
public static long getAppLastUpdateTime(Context context){
    try {
    if(Build.VERSION.SDK_INT>8/*Build.VERSION_CODES.FROYO*/ ){
        PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
        return packageInfo.lastUpdateTime;
    }else{
        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;
    }
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X