Android 获取其他应用程序图标uri?
我有一个Android appwidget,上面显示其他应用程序的图标 我使用appInfo.loadIcon获取其他应用程序图标,然后使用setImageViewBitmap将其设置为小部件 问题是,如果小部件上的图标太多,就会出现“失败的活页夹事务”错误。我知道这是一个大小限制,解决方案是使用图像uri而不是位图本身 其他应用程序图标是否有可访问的URIAndroid 获取其他应用程序图标uri?,android,icons,android-appwidget,Android,Icons,Android Appwidget,我有一个Android appwidget,上面显示其他应用程序的图标 我使用appInfo.loadIcon获取其他应用程序图标,然后使用setImageViewBitmap将其设置为小部件 问题是,如果小部件上的图标太多,就会出现“失败的活页夹事务”错误。我知道这是一个大小限制,解决方案是使用图像uri而不是位图本身 其他应用程序图标是否有可访问的URI 谢谢。尝试android。资源:/[package]/[res-type]/[res-name],在您的情况下,[res-type]是可绘
谢谢。尝试
android。资源:/[package]/[res-type]/[res-name]
,在您的情况下,[res-type]
是可绘制的。软件包和名称必须来自ResolveInfo
或您获取数据的任何地方。虽然在许多情况下都很好,但我发现这通常更容易:
android.resource://[package]/[res id]
-特别是当您需要引用其他应用程序的启动器图标时。如果您不知道资源名称,您也可以通过其id访问资源:
android.resource://[package]/[res_id]
应用程序图标的资源id可在应用程序的ApplicationInfo
中找到:
ApplicationInfo appInfo = pm.getApplicationInfo(packageName, 0);
if(appInfo.icon != 0) {
Uri uri = Uri.parse("android.resource://" + packageName + "/" + appInfo.icon);
}