我的计划是拥有一个主应用程序,它使用来自不同应用程序的原始文件。主应用程序将处理所有数据,而另一个应用程序充当一种DLC。当其他应用程序运行时,它将使用自己的SharedPreferences打开主应用程序,并设置它以便主应用程序可以从其他应用程序读取原始应用程序。
如果另一个应用程序以某种方式被强制关闭,是否可以读取raws(不是SharedPreferences的实现)?
答案 0 :(得分:0)
是的,我相信您应该可以通过PackageManager
和Resources
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
}