2016-12-26 4 views
0

Мой код получает список всех недавно установленных приложений, но проблема в том, что мне нужно только самое последнее имя пакета (только одно). Как мне изменить код для этого?Как получить имя недавно установленного приложения?

public void RootInstallAPK1(View view) { 
    final PackageManager pm = getPackageManager(); 
    List<ApplicationInfo> packages = pm 
      .getInstalledApplications(PackageManager.GET_META_DATA); 

    for (ApplicationInfo packageInfo : packages) { 
     String packageName = packageInfo.packageName; 
     String appFile = packageInfo.sourceDir; 
     long lastModified = new File(appFile).lastModified(); 
     // Use this to get first time install time 
     // long installed = 
     // context.getPackageManager().getPackageInfo(packageName, 
     // 0).firstInstallTime; 
     Log.d(TAG, "Installed package :" + packageName); 
     Log.d(TAG, "Source dir : " + appFile); 
     Log.d(TAG, "Last Modified Time :" + lastModified); 

     Toast toast = Toast.makeText(this, packageName, Toast.LENGTH_SHORT); 
     toast.show(); 
    } 
} 

ответ

0

Вы уже зацикливаете все установленные и получаете последнюю измененную дату, это довольно просто отсюда.

long newestInstall = 0; 
ApplicationInfo newestApp; 

for (ApplicationInfo packageInfo : packages) { 

    String appFile = packageInfo.sourceDir; 
    long lastModified = new File(appFile).lastModified(); 

    // check if this is newer then what we already have 
    if (lastModified > newestInstall) { 

     newestInstall = lastModified; 
     newestApp = packageInfo; 
    } 
} 

// print the newest app to the log 
Log.d(TAG, "Newest App :" + newestApp.packageName); 

Это будет цикл через все установленные пакеты, и продолжать обновлять newestTime и newestApp, для каждого приложения, которое новее, то последнее.

Как только цикл закончен, вы останетесь с последним установленным приложением.

+0

Это полный ошибок, пожалуйста, отредактируйте свой код – user7341102

+0

Это несколько псевдо-код, который вы должны выяснить. Я показываю/объясняю процесс, который вы должны использовать. –

+0

Я не понимаю – user7341102