你可以访问非活动应用程序的原始数据吗?

时间:2014-05-29 20:19:20

标签: android sharedpreferences

我的计划是拥有一个主应用程序,它使用来自不同应用程序的原始文件。主应用程序将处理所有数据,而另一个应用程序充当一种DLC。当其他应用程序运行时,它将使用自己的SharedPreferences打开主应用程序,并设置它以便主应用程序可以从其他应用程序读取原始应用程序。

如果另一个应用程序以某种方式被强制关闭,是否可以读取raws(不是SharedPreferences的实现)?

1 个答案:

答案 0 :(得分:0)

是的,我相信您应该可以通过PackageManagerResources API执行此操作。我用Strings和Drawables完成了这个,所以我不知道它有什么特别的原因它不能用于原始资源。

try {
    Resources res = getPackageManager().getResourcesForApplication("other.package.name");
    int resourceId = res.getIdentifier("name_of_raw_resource", "raw", "other.package.name");
    if (resourceId != 0) {
        InputStream rawFile = res.openRawResource(resourceId);
    } else {
        // Raw resource was not found
    }
} catch (PackageManager.NameNotFoundException e) {
    // App is not installed
}