如何获取Android设备上所有已安装应用程序的列表,并将应用程序的名称存储在字符串数组中?

时间:2015-03-30 23:08:48

标签: android arrays android-listview

我已经就如何从以下链接获取所有已安装应用的信息做了一些研究。 How to get a list of all installed apps on a android device

链接提供的代码如下:

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);

我做了一些研究,但未能找到以下两个问题的答案。

  1. 有没有办法获取应用的NAME而不是包名?

  2. 我可以将其存储在字符串数组中(String[] nameofappsinstalled)吗?

  3. 我的目标是制作一个简单的应用程序,其中包含所有应用程序的名称,并将它们放在列表视图中。 listview采用String[](字符串数组),应用程序在List类中返回。

1 个答案:

答案 0 :(得分:0)

  

我已经就如何从以下链接获取所有已安装应用的信息做了一些研究。如何获取Android设备上所有已安装应用的列表

这不会提供已安装应用的列表。它列出了可启动的活动。一个应用程序可以有零个,一个或几个可启动的活动,但大多数通常只有一个。

  

有没有办法获取应用的NAME而不是包名?

你找回的List实际上是List<ResolveInfo>。在每个loadLabel()上致电ResolveInfo,将PackageManager作为参数传递,以获取活动的标签。

  

我可以将它存储在字符串数组中(String [] nameofappsinstalled)吗?

当然,虽然ArrayList<String>会更容易,更灵活。