android - 获取另一个android应用程序图标的资源ID

标签 android resources icons

有没有办法获取另一个安卓应用程序图标的资源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) {}

关于android - 获取另一个android应用程序图标的资源ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11961599/

相关文章:

java - 捕获异常 : java. lang.SecurityException : Permission denied (missing INTERNET permission? )

java - Android - 而不是启动新类(class)/Activity 的新 Intent ,如何返回打开 Activity/类(class)?

java - 如何根据当前位置获取最近的地点(用户输入的)?

android - 这是设计购物车 Android 应用程序的正确方法吗?

wpf - 可重复使用的多边形

ios - 在 iOS 6 中使用 Apple 图标

c++ - 英特尔 C++ 编译器是否有资源编译器?

c++ - 是什么激发了 Stroustrup 对资源管理技术的偏好顺序?

ios - 优胜美地的 xcodeproj 中缺少图标文件

qt - Qt 应用程序的基本图标