2012-02-22 2 views
1

Я пытаюсь разработать приложение для запуска приложений для android. Я в самом начале, но у меня проблема: как мне получить список всех установленных приложений в android?Получить список установленных приложений в android

+3

Точный дубликат: http://stackoverflow.com/questions/2695746/how -to-get-a-list-of-installed-android-applications-and-pick-one-to-run – SERPRO

ответ

2

Используйте эти методы в своей деятельности, чтобы получить список установленных приложений.

private ArrayList<PackageInfoStruct> getPackages() { 
     ArrayList<PackageInfoStruct> apps = getInstalledApps(false); 
     final int max = apps.size(); 
     for (int i=0; i < max; i++) { 
      apps.get(i); 
     } 
     return apps; 
    } 

    private ArrayList<PackageInfoStruct> getInstalledApps(boolean getSysPackages) { 

     List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); 
     try{ 
      app_labels = new String[packs.size()]; 
     }catch(Exception e){ 
      Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT).show(); 
     } 
     for(int i=0;i < packs.size();i++) { 
      PackageInfo p = packs.get(i); 
      if ((!getSysPackages) && (p.versionName == null)) { 
       continue ; 
      } 
      PackageInfoStruct newInfo = new PackageInfoStruct(); 
      newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString(); 
      newInfo.pname = p.packageName; 
      newInfo.versionName = p.versionName; 
      newInfo.versionCode = p.versionCode; 
      newInfo.icon = p.applicationInfo.loadIcon(getPackageManager()); 
      res.add(newInfo); 

      app_labels[i] = newInfo.appname; 
     } 
     return res; 
    } 
+0

это не работает для меня, может ли PLS дать ссылку или какой-либо полный пример. –

+0

Что такое «PackageInfoStruct»? – msbg

+1

Это просто объект, который содержит сведения о приложении, такие как имя приложения, пакет, версия и т. Д. – Rakshi

1

Я предлагаю вам по крайней мере найти stackoverflow перед отправкой вопроса.

From a duplicate question : через @karan

Ниже приводится код, чтобы получить список мероприятий/приложений, установленных на Android:

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
final List pkgAppsList = context.getPackageManager().queryIntentActivities(mainIntent, 0); 
Смежные вопросы