有没有办法获取另一个Android应用程序图标的资源ID? (例如com.android.systemui.R.drawable.ic_xxx
)
我尝试了context.getApplicationInfo().icon
,但它返回了一个长整数。
这可能吗?
谢谢
最佳答案
您可以使用以下方法获取应用程序的Drawable
图标:
Drawable icon = getPackageManager().getApplicationIcon( PACKAGE_NAME );
如果您对自己的应用程序的Drawable的资源ID感兴趣,请尝试以下操作:
int resourceID = getResources().getIdentifier( DRAWABLE_NAME , "drawable", PACKAGE_NAME );
或者,如果您关心性能,则此版本会更快,但会使用反射:
try {
Class resource = R.drawable.class;
Field field = resource.getField( DRAWABLE_NAME );
int drawableId = field.getInt(null);
} catch (Exception e) {}