Android 如何迭代另一个APK';在不知道资源名称的情况下删除资源
我找不到如何从我的应用程序中列出另一个应用程序中的所有可绘制内容 如果我知道名字,我设法得到了drawables,但是找不到如何使用从1到N的简单循环 你们中有谁可以提供一个代码模板来实现这一点 以下代码已起作用:Android 如何迭代另一个APK';在不知道资源名称的情况下删除资源,android,Android,我找不到如何从我的应用程序中列出另一个应用程序中的所有可绘制内容 如果我知道名字,我设法得到了drawables,但是找不到如何使用从1到N的简单循环 你们中有谁可以提供一个代码模板来实现这一点 以下代码已起作用: mAndromedaAddonContext = createPackageContext( "com.demo.andromeda", Context.CONTEXT_IGNORE_SECURITY ); mPlanetsResID[0] = mAn
mAndromedaAddonContext = createPackageContext( "com.demo.andromeda",
Context.CONTEXT_IGNORE_SECURITY );
mPlanetsResID[0] = mAndromedaAddonResources.getIdentifier( "planet20111007081421628", "drawable", "com.demo.andromeda" );
但是我想不使用资源名进行迭代。
大致如下:
对于(int i=0;i
我在清单文件中有相同的sharedUserId和进程,因此我有权从其他应用程序访问资源
提前感谢。首先使用
mAndromedaAddonResources.getAssets()
为目标应用程序获取AssetManager实例
请看这里:
()
然后你可以使用
public final String[]列表(字符串路径)
方法获取给定路径上所有资产的列表(在您的情况下,它将是目标应用程序的res/drawable文件夹的路径)。这将为您提供一个字符串列表,其中每个字符串都是一个资产名称。然后,您只需使用与获取其标识符相同的代码即可
有关AssetManager的详细信息:
太棒了!我已经在这上面呆了一段时间了。谢谢!您好,您能给我举个具体的例子吗?我无法按您的方式获取res/drawable文件夹。