有没有办法获取另一个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) {}

07-24 09:46
查看更多