保存可由其他应用程序读取和修改的首选项

时间:2011-10-26 22:00:13

标签: android preferences global

我构建了一个应用程序,它将使用此处描述的技术从WebService下载并安装APK:

Install Application programmatically on Android

在此安装过程中,Webservice会发送一个“标志”,指示在首次运行期间是否应删除正在更新的应用程序中的SQLite数据库。

有没有办法设置一个可以读取的“全局首选项”(如果标志为真,数据库应该删除)并清除(删除后应该设置为false)以避免一直删除数据库在第一次使用更新的应用程序时,应用程序已启动),而不将其保存到SD卡?

我知道如何从正在更新的应用中读取偏好设置,但我没有意识到如何从其他应用修改这些偏好设置。

非常感谢。

2 个答案:

答案 0 :(得分:1)

SharedPreferences对于每个App / APK都是唯一的 - 无法分享我所知道的并且没有“全局”等效的。

如果您想共享数据,解决方案通常是某种ContentProvider,但这依赖于同时运行的两个应用程序。

如果您只想移交令牌或状态,我建议将文件写入SDCARD可能是最简单的选项吗?

答案 1 :(得分:0)

以下是关于如何操作的tutorial

基本上你必须使用MODE_WORLD_WRITEABLE作为prefs文件。

要获取其他包的上下文,请使用createPackageContext()