当前位置: 代码迷 >> Android >> Android如何查找第三方应用程序的资源标识符图标
  详细解决方案

Android如何查找第三方应用程序的资源标识符图标

热度:130   发布时间:2023-08-04 12:23:41.0

我们可以找到第三方应用程序图标的资源标识符吗?实际上,我想显示带有图标的第三方应用程序。

为了显示第三方应用程序,我使用listview。 在适配器的getView方法中,我使用以下代码applicationInfo = pm.getApplicationInfo(appNames.get(position),pm.GET_META_DATA); imageViewAppIcon.setImageDrawable(applicationInfo.loadIcon(pm)); applicationInfo = pm.getApplicationInfo(appNames.get(position),pm.GET_META_DATA); imageViewAppIcon.setImageDrawable(applicationInfo.loadIcon(pm)); 并且会降低列表视图的性能。

并且如果我在ArrayList中拥有drawable,那么它将拥有Drawable(objects。)的大型列表。有帮助吗?

这样,您可以为手机上所有已安装的应用检索应用标签和图标:

PackageManager pm = getPackageManager();

Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);

for (ResolveInfo resolveInfo : list) {
    // Retrieve the current graphical icon associated with this resolution.
    Drawable drawable = resolveInfo.loadIcon(pm);

    // Retrieve the current textual label associated with this resolution. 
    CharSequence label = resolveInfo.loadLabel(pm);
}

您可以使用标签找到合适的应用。 但是,最好将完整的类名添加到搜索意图中。

如果该应用未安装在手机上,并且仅在市场上可用,请检查 。

如果您想从第三方应用程序中获取其他资源,请查看getResourcesForApplication

String packageName = "com.example.app";
Resources res = context.getPackageManager().getResourcesForApplication(packageName);
  相关解决方案