从另一个apk获取资源

use*_*019 8 java eclipse android package-managers getresource

我整天都在努力解决这个问题而且没有成功.我基本上试图从另一个apk获取图像资源.

因此,如果com.example.app在res文件夹中有一个名为image1.png的图像,我希望com.example2.app能够访问该资源并将其放在imageview中.

我知道你必须使用PackageManager.getResourcesForApplication,但我仍然没有成功获得实际资源.

任何帮助都是极好的!

use*_*019 15

弄清楚了...

final String packName = "com.example2.app";
    String mDrawableName = "app_icon";

    try {
        PackageManager manager = getPackageManager();
        Resources mApk1Resources = manager.getResourcesForApplication(packName);

        int mDrawableResID = mApk1Resources.getIdentifier(mDrawableName, "drawable",packName);

        Drawable myDrawable = mApk1Resources.getDrawable( mDrawableResID );

        if( myDrawable != null )
            TEST.setBackgroundDrawable(myDrawable );

    }
    catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

点击此处查看其他问题的更多说明!在apk之间共享原始资源