获取启动器的图标资源标识符
Get launcher's icon resource identifier
这是我获取应用程序启动器图标的方法(Koltin 代码,但这个问题与 Kotlin 无关):
val packageManager = packageManager()
val applicationInfo = packageManager.getApplicationInfo(packageName, 0)
val drawable = applicationInfo.loadIcon(packageManager)
现在 TaskManager
不赞成使用非分辨率图标,我的观点是获取该启动器图标的值或 DrawableRes
(等于 R.drawable.ic_launcher
的标识符)例如)。
我找不到方法。这是否可以动态地实现(或者由于 R.java
代而不可能?),而无需明确键入它?
如果想获取图标对应的resource id,并且知道包名和item名,可以这样:
int resourceId = this.getResources().getIdentifier("nameOfResource", "drawable", this.getPackageName());
"this" 是运行代码的 activity。
"nameOfResource" 是图标本身的名称(没有文件扩展名)
"drawable" 是图标所在的 res 子文件夹的名称。
您可以找到函数文档here
或者您可以接收应用程序的资源 ID 是这个:
final PackageManager packageManager = getPackageManager();
final ApplicationInfo applicationInfo=packageManager.getApplicationInfo(packageName,PackageManager.GET_META_DATA);
final int appIconResId=applicationInfo.icon;
这和你的方法很相似。
您搜索应用程序的所有 资源 并获取访问图标 ID 作为返回信息的成员。
这是我获取应用程序启动器图标的方法(Koltin 代码,但这个问题与 Kotlin 无关):
val packageManager = packageManager()
val applicationInfo = packageManager.getApplicationInfo(packageName, 0)
val drawable = applicationInfo.loadIcon(packageManager)
现在 TaskManager
不赞成使用非分辨率图标,我的观点是获取该启动器图标的值或 DrawableRes
(等于 R.drawable.ic_launcher
的标识符)例如)。
我找不到方法。这是否可以动态地实现(或者由于 R.java
代而不可能?),而无需明确键入它?
如果想获取图标对应的resource id,并且知道包名和item名,可以这样:
int resourceId = this.getResources().getIdentifier("nameOfResource", "drawable", this.getPackageName());
"this" 是运行代码的 activity。
"nameOfResource" 是图标本身的名称(没有文件扩展名)
"drawable" 是图标所在的 res 子文件夹的名称。
您可以找到函数文档here
或者您可以接收应用程序的资源 ID 是这个:
final PackageManager packageManager = getPackageManager();
final ApplicationInfo applicationInfo=packageManager.getApplicationInfo(packageName,PackageManager.GET_META_DATA);
final int appIconResId=applicationInfo.icon;
这和你的方法很相似。 您搜索应用程序的所有 资源 并获取访问图标 ID 作为返回信息的成员。