我可以写入 Android SharedPreference 以获得不同的包吗?

Can I write to Android SharedPreference for a different package?

我已经编写了一个游戏,我打算将其作为免费演示上传到市场,并且我打算提供一个收费的完整版本。

我想让完整版的下载只是一个简单的解锁器,它将一个值写入演示的 SharedPreferences。

当演示启动时,它会读取其共享首选项,如果该值存在,则它会以完整模式运行,否则它会以演示模式运行。

这样做的原因是 A) 这样当人们购买完整版时,下载几乎是即时的,而不必等待整个应用程序再次下载,以及 B) 这样我就没有每当我更改应用程序代码时更新两个市场列表。

那么,是否可以更改与当前 运行 包不同的包的 SharedPrefs?

Android 应用程序的共享首选项有 4 种模式。

当一个应用程序想要写入首选项时,它被调用 Context.getSharedPreferences (String name, int mode).

因此可以阅读 preferences.But 来编写特定应用程序应使用的 MODE_WORLD_WRITEABLE,但已弃用。

道德:您不能更改其他应用程序的首选项。

而且你也不应该这样做