我在两个应用之间共享数据,这是我的代码,用于从应用中的共享首页获取数据 A
try {
final Context mContext = createPackageContext("com.example.demo", Context.MODE_PRIVATE);
final String val = mContext.getSharedPreferences("pref_name",Context.MODE_PRIVATE).getString(MY_KEY,"");
Log.e("sharedtest",val);
finish();
} catch (Exception e) {
e.printStackTrace();
}
这段代码在onCreate()方法中,我在任何地方都没有任何代码。我的问题是,如果我在我的应用 B 中保存了一些值,而不是启动我的应用 A ,则在检索到数据后,第一次正确检索到保存的数据活动正在完成(我只有一个活动),如果我启动我的启动器图标并启动我的应用程序 A ,则没有更新的数据(它是相同的),其中从app 乙即可。
如果我从系统应用设置中删除我的应用并启动它就像第一次启动更新数据一样,每次数据更改都需要我的应用程序从设置中删除,我该如何解决?我错过了什么?
答案 0 :(得分:0)
我找到了解决方案,这可能是一招,但对我来说效果很好, 在我的应用 A 完成其工作后,我正在调用系统退出方法。
System.exit(1);
它使应用程序“A”完全退出并完成工作
之后我在我的偏好中获得了最新的更新数据