应用A:com.sxm.a
//设置缓存内容 public void setCachedatatxt(Context context, String jsonText) { SharedPreferences setting = context.getSharedPreferences(fileName, Context.MODE_WORLD_READABLE); SharedPreferences.Editor editor = setting.edit(); editor.putString("TYPE", jsonText); editor.commit(); }
应用B:com.sxm.b
public void btnRead(View btnRead) { try { Context context = createPackageContext("com.sxm.a", Context.CONTEXT_IGNORE_SECURITY); SharedPreferences sharedPreferences = context.getSharedPreferences(fileName, Context.MODE_MULTI_PROCESS); String result = sharedPreferences.getString("TYPE", null); Toast.makeText(this, "btnRead: "+result, 0).show(); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } }
注:如果在应用B中,设置权限:Context.MODE_PRIVATE,则会造成读取A应用不能实时更新。