Получить список всех видов деятельности, доступных в Системе - PullRequest
3 голосов
/ 05 сентября 2011

Поскольку система должна знать о доступных действиях, поскольку они объявлены в соответствующих AndroidManifest.xml файлах, которые оцениваются во время установки:
Есть ли способ запросить эти действия?

Ответы [ 2 ]

8 голосов
/ 05 сентября 2011

Конечно, посмотрите на PackageManager.getInstalledPackages метод. Вот пример печати имен зарегистрированных видов деятельности:

List<PackageInfo> pInfos = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
for (PackageInfo pInfo : pInfos) {
  ActivityInfo[] aInfos = pInfo.activities;
  if (aInfos != null) {
    for (ActivityInfo activityInfo : aInfos) {
      Log.i("ACT", activityInfo.name);
      // do whatever else you like... 
    }
  }
}
1 голос
/ 05 сентября 2011
ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
PackageManager pm = ctx.getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);

for(int i=0;i<packs.size();i++) {
    PackageInfo p = packs.get(i);
    String description = (String) p.applicationInfo.loadDescription(pm);
    String  label= p.applicationInfo.loadLabel(pm).toString();
    String packageName = p.packageName;
    String versionName = p.versionName;
    String versionCode = p.versionCode;
    String icon = p.applicationInfo.loadIcon(pm);
//Continue to extract other info about the app...
}

Примечание. Добавьте это разрешение в файл манифеста:

<uses-permission android:name="android.permission.GET_TASKS" />

Добавьте это к приведенному выше коду:

PackageManager.getactivities -- I have not used this PackageManager.getactivities but I hope it will work for you....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...