您可以使用loadLabel(PackageManager)
方法ResolveInfo
来获取活动的标签。这里是指找到该设备上的所有发射活动,并将它们打印到logcat的一个完整的例子:
// Get the package manager
PackageManager pm = getPackageManager();
// Create an intent that matches all launcher activities
// (and ignores non-launcher activities)
Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// Get all activites matching the intent
List<ResolveInfo> launchers = pm.queryIntentActivities(launcherIntent, 0);
for(ResolveInfo info : launchers) {
// Get the activity label and print it
CharSequence label = info.loadLabel(pm);
Log.v("LabelTest", "App found: " + label);
}
为了回答你问题的第二部分也是如此,有关访问应用程序的资源:他们可以通过调用访问getPackageManager().getResourcesForApplication(String)
,这将返回一个Resources
对象,您可以使用,但在你的情况下,这不应该是必要的。
谢谢!这样可行! – DGomez 2012-01-27 19:53:44
好知道我可以访问其他应用程序的所有资源,是一个更通用的解决问题的方法,我在机器人编程新我不是很用API熟悉呢,谢谢你的答案! – DGomez 2012-01-27 20:02:10