Android 您可以访问非活动应用程序的RAW吗?

Android 您可以访问非活动应用程序的RAW吗?,android,sharedpreferences,Android,Sharedpreferences,我的计划是有一个主应用程序,使用来自不同应用程序的原始文件。主应用程序将处理所有数据,而另一个应用程序则充当一种数据链路连接器。当另一个应用程序运行时,它将使用自己的SharedReference打开主应用程序,并进行设置,以便主应用程序可以从另一个应用程序读取RAW 如果另一个应用程序以某种方式被强制关闭,是否可以读取RAW(而不是实现SharedReferences)?是的,我相信您应该能够通过PackageManager和资源API来实现这一点。我已经用字符串和可绘制元素完成了这项工作,所

我的计划是有一个主应用程序,使用来自不同应用程序的原始文件。主应用程序将处理所有数据,而另一个应用程序则充当一种数据链路连接器。当另一个应用程序运行时,它将使用自己的SharedReference打开主应用程序,并进行设置,以便主应用程序可以从另一个应用程序读取RAW


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

是的,我相信您应该能够通过
PackageManager
资源
API来实现这一点。我已经用字符串和可绘制元素完成了这项工作,所以我不知道有什么特别的原因它不能使用原始资源

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
}

也可以调用正在运行的不同应用程序的方法,前提是它们共享相同的UID和密钥吗?我相信您可以使用导出的服务/广播接收器来实现这一点,但这超出了我的舒适范围。:)对不起,我刚找到电话号码