应用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应用不能实时更新。
本文介绍了一种通过SharedPreferences在两个不同Android应用间进行数据共享的方法。文章详细解释了如何在一个应用中设置缓存内容,并在另一个应用中读取这些数据。需要注意的是,为了实现跨应用的数据共享,必须正确设置读取数据的应用的上下文和文件共享模式。
591

被折叠的 条评论
为什么被折叠?



