Ran*_*Ran 4 icons android android-appwidget
我有一个Android appwidget,上面显示其他应用程序的图标.
我使用appInfo.loadIcon获取其他应用程序图标,然后使用setImageViewBitmap将其设置为小部件.
问题是,如果我的小部件上有太多图标,我会收到"FAILED BINDER TRANSACTION"错误.我知道它是从大小限制和解决它使用图像uri而不是位图本身.
是否有其他应用程序图标的可访问URI?
谢谢.
Sve*_*ven 13
如果您不知道资源名称,您还可以通过其ID访问资源:
android.resource://[package]/[res_id]
Run Code Online (Sandbox Code Playgroud)
应用程序图标的资源ID在应用程序中可用ApplicationInfo:
ApplicationInfo appInfo = pm.getApplicationInfo(packageName, 0);
if(appInfo.icon != 0) {
Uri uri = Uri.parse("android.resource://" + packageName + "/" + appInfo.icon);
}
Run Code Online (Sandbox Code Playgroud)
小智 8
虽然在许多情况下@ CommonWare的答案很好,但我发现这通常更容易:
android.resource://[package]/[res id]- 尤其是当您想要引用某些其他应用程序的启动器图标时.
试试android.resource://[package]/[res type]/[res name],[res type]在你的情况下drawable.包和名称必须来自ResolveInfo您获取数据的地方.
| 归档时间: |
|
| 查看次数: |
2398 次 |
| 最近记录: |