您可以使用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