gpt4 book ai didi

android - 获取android :label from other applications

转载 作者:搜寻专家 更新时间:2023-11-01 08:11:39 25 4
gpt4 key购买 nike

我正在编写一个 Android 应用程序,一个 Tasker,但我真的找不到获取另一个应用程序标签的方法。这是我的观点,我使用的是一个 ListActivity,您可以在其中选择一个已安装的应用程序,然后当您单击它时,它会创建 Intent 和所有应用程序内容,我想做的是向用户展示应用程序中的 android:label 他选中后,我在 ResolverInfo 中找到了一个名为 .activityInfo.labelRes 的属性,我认为这是用户选择的应用程序的 R 类的标签描述符,无论如何都可以获得与该 id 匹配的字符串???谢谢!D.戈麦斯

最佳答案

您可以使用 loadLabel(PackageManager) ResolveInfo 方法获取 Activity 的标签。这是一个完整的示例,它查找设备上的所有启动器 Activity 并将它们打印到 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您可以使用的对象,但在您的情况下,这不是必需的。

关于android - 获取android :label from other applications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9038828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com