我有一個正在使用不同構建變體(flavor)的應用程序,現在我想在這些有風格的應用程序(針對最終用戶的不同應用程序)之間共享數據。現在我的問題是,如何使用共享首選項在風格化應用程序之間共享一些數據,因爲只有一個包名稱在清單文件中提到,並且一個包適用於所有風味應用程序。我嘗試了下面的方法,但未能共享數據。使用共享首選項在兩個具有相同包名的應用程序之間共享數據
//設置數據
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
但它無法正常工作。現在做什麼?
哪裏是你的MyPref' – akhilesh0707
private final String MyPref =「設置」; //你添加了一個常量 –
'android:sharedUserId'?這兩個應用的清單文件。 – akhilesh0707