【发布时间】:2014-05-29 20:19:19
【问题描述】:
我的计划是创建一个使用来自不同应用程序的原始文件的主应用程序。主应用程序将处理所有数据,而另一个应用程序充当一种 DLC。当另一个应用程序运行时,它将使用自己的 SharedPreferences 打开主应用程序,并对其进行设置,以便主应用程序可以从另一个应用程序读取原始数据。
如果另一个应用程序以某种方式被强制关闭,是否可以读取原始数据(不是 SharedPreferences 的实现)?
【问题讨论】:
我的计划是创建一个使用来自不同应用程序的原始文件的主应用程序。主应用程序将处理所有数据,而另一个应用程序充当一种 DLC。当另一个应用程序运行时,它将使用自己的 SharedPreferences 打开主应用程序,并对其进行设置,以便主应用程序可以从另一个应用程序读取原始数据。
如果另一个应用程序以某种方式被强制关闭,是否可以读取原始数据(不是 SharedPreferences 的实现)?
【问题讨论】:
是的,我相信您应该能够通过PackageManager 和Resources 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
}
【讨论】: