Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何迭代另一个APK';在不知道资源名称的情况下删除资源_Android - Fatal编程技术网

Android 如何迭代另一个APK';在不知道资源名称的情况下删除资源

Android 如何迭代另一个APK';在不知道资源名称的情况下删除资源,android,Android,我找不到如何从我的应用程序中列出另一个应用程序中的所有可绘制内容 如果我知道名字,我设法得到了drawables,但是找不到如何使用从1到N的简单循环 你们中有谁可以提供一个代码模板来实现这一点 以下代码已起作用: mAndromedaAddonContext = createPackageContext( "com.demo.andromeda", Context.CONTEXT_IGNORE_SECURITY ); mPlanetsResID[0] = mAn

我找不到如何从我的应用程序中列出另一个应用程序中的所有可绘制内容

如果我知道名字,我设法得到了drawables,但是找不到如何使用从1到N的简单循环

你们中有谁可以提供一个代码模板来实现这一点

以下代码已起作用:

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文件夹。