X和Y两个应用程序。它们不是彼此的子类。我想使用SharedPreferences将X应用程序中的字符串写入Y,并从Y应用程序中读取它。
在第一个应用程序中创建共享的偏好数据将其模式设置为MODE_WORLD_READABLE
SharedPreferences mSharedPrefs = getSharedPreferences("Prefs_First", MODE_WORLD_READABLE);
SharedPreferences.Editor editor = mSharedPrefs.edit();
editor.putString("name", etName.getEditableText().toString());
editor.putString("password", etPassword.getEditableText().toString());
editor.commit();
要从其他应用访问该数据,请尝试此,
Context mContext = createPackageContext("com.sample.globalsharedpreference", CONTEXT_IGNORE_SECURITY);
SharedPreferences firstAppSharedPrefs = mContext.getSharedPreferences("Prefs_First", Context.MODE_WORLD_READABLE);
String strName = firstAppSharedPrefs.getString("name", "");
String strPassword = firstAppSharedPrefs.getString("password", "");
请注意,com.sample.globalsharedpreference
是第一个应用程序的程序包名称。