我已经就如何从以下链接获取所有已安装应用的信息做了一些研究。 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);
我做了一些研究,但未能找到以下两个问题的答案。
有没有办法获取应用的NAME而不是包名?
我可以将其存储在字符串数组中(String[] nameofappsinstalled
)吗?
我的目标是制作一个简单的应用程序,其中包含所有应用程序的名称,并将它们放在列表视图中。 listview采用String[]
(字符串数组),应用程序在List
类中返回。
答案 0 :(得分:0)
我已经就如何从以下链接获取所有已安装应用的信息做了一些研究。如何获取Android设备上所有已安装应用的列表
这不会提供已安装应用的列表。它列出了可启动的活动。一个应用程序可以有零个,一个或几个可启动的活动,但大多数通常只有一个。
有没有办法获取应用的NAME而不是包名?
你找回的List
实际上是List<ResolveInfo>
。在每个loadLabel()
上致电ResolveInfo
,将PackageManager
作为参数传递,以获取活动的标签。
我可以将它存储在字符串数组中(String [] nameofappsinstalled)吗?
当然,虽然ArrayList<String>
会更容易,更灵活。