can';t从其他Android应用程序检索共享首选项
我读到共享首选项可以从我的应用程序外部检索,我的意思是,如果我在X应用程序中保存首选项,我可以从Y应用程序中检索它,问题是,这对我不起作用,问题是如何做?这是我的代码,我不知道哪里出错了:can';t从其他Android应用程序检索共享首选项,android,Android,我读到共享首选项可以从我的应用程序外部检索,我的意思是,如果我在X应用程序中保存首选项,我可以从Y应用程序中检索它,问题是,这对我不起作用,问题是如何做?这是我的代码,我不知道哪里出错了: final String APP = "Test"; final String USER_ID = "User Id"; String myId; SharedPreferences prefs = getSharedPreferences(APP, MOD
final String APP = "Test";
final String USER_ID = "User Id";
String myId;
SharedPreferences prefs = getSharedPreferences(APP, MODE_PRIVATE);
if (prefs.getString(USER_ID, null) == null){
if(phoneNumber != null){
myId = phoneNumber;
prefs.edit().putString(USER_ID, myId).commit();
}
if(deviceId != null){
myId = deviceId;
prefs.edit().putString(USER_ID, myId).commit();
}else{
myId = randomId.toString();
prefs.edit().putString(USER_ID, myId).commit();
}
}
然后我尝试从不同的应用程序检索此首选项,如下所示:
final String APP = "Test";
final String USER_ID = "User Id";
SharedPreferences sp = getSharedPreferences(APP, MODE_PRIVATE);
String s = sp.getString(USER_ID, null);
但我只得到一个空对象,我做错了什么?我不认为我的父母犯了这个错误
提前谢谢。我最近才看到这个,但最后并不需要它
指南看起来不错。您使用的是
MODE\u PRIVATE
而不是MODE\u WORLD\u READABLE
公共摘要共享引用
GetSharedReferences(字符串名,int
模式)
[…]模式操作模式。使用0
或默认情况下的模式_PRIVATE
操作、模式\u世界\u可读和
模式\u世界\u可写入控件
权限。钻头
如果出现以下情况,也可以使用模式\u多\u过程:
多个进程正在改变
相同的SharedReferences文件。
模式\u多\u进程始终处于启用状态
针对姜饼(Android)的应用程序
2.3)及以下,并在以后的版本中默认关闭
()示例运行良好,但如果我卸载在SharedReferences中设置数据的SetData项目并重新安装,数据将被默认数据替换,这不是我指定的。我希望即使重新安装应用程序,数据仍保留在首选项中。但是谢谢你的酒嗯?我对SharedReference和重新安装没有问题。你不是先卸载然后再重新安装,是吗?只需在当前安装的基础上重新安装。这是关于如何共享首选项的最佳示例。您应该看看这里发布的答案:变量
MODE\u PRIVATE
似乎并没有在您的脑海中敲响逻辑铃?有趣的解决方案,但我需要的是在某个地方保存一个id,其中,即使在卸载创建此id的应用程序后,该id仍将保持保存状态。有什么想法吗?