我有一个使用不同构建变体(风味)的应用程序,现在我想在这些风味应用程序(最终用户的不同应用程序)之间共享数据。现在我的问题是,我如何使用共享首选项在风味的应用程序之间共享一些数据,因为清单文件中只提到了一个包名,而且一个包对所有风味的应用程序都有效。我尝试了以下方法,但未能共享数据。
//设置数据
SharedPreferences settings = getSharedPreferences(MyPref, Context.MODE_WORLD_READABLE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("UserEmail", m_email);
editor.putString("UserPass", m_pass);
editor.putString("LoggedUserName", m_statusData);
editor.commit();
//获取数据
Context con = getApplicationContext().createPackageContext("my_packagename", 0);
SharedPreferences pref = con.getSharedPreferences(MyPref, Context.MODE_PRIVATE);
EmailId = pref.getString("UserEmail", email);//got always null
Password = pref.getString("UserPass", Password);//got always null
但它不起作用。现在该怎么办?
答案 0 :(得分:0)
在阅读第一个应用程序共享的Word可读数据时,我们应该创建共享的pref对象,如 -
更换
getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
与
getSharedPreferences("PREF_NAME", Context.MODE_MULTI_PROCESS);
在第二个应用中获取第二个应用中的更新值。