第一步
两个APP的manifest里面使用统一的android:sharedUserId=“shared.cn.ly”
shared.cn.ly这个值随便取,但是要求xxx.xxx这种格式。
第二步
第一个APP的某个activity中往sp里面写数据
val sp = getSharedPreferences("data", Context.MODE_PRIVATE)
sp.edit().putString("name","alex").apply()
第三步
必须要用createPackageContext()方法获得context,并传入要读取那个应用SP的应用包名。
val context = createPackageContext("com.ly.myapplication",Context.CONTEXT_IGNORE_SECURITY)
val sp = context.getSharedPreferences("data", Context.MODE_PRIVATE)
val name = sp.getString("name","111")
Log.e(Companion.TAG, "onCreate: $name")
正确取出那个APP的SP数据。