我目前正在尝试在Android中的不同应用程序之间共享信息,我希望实现的目标是KeyChain数据共享在iOS中但在Android中具有相同的行为。
我已经尝试过使用SharedPreferences并在Manifest中使用“shareUserId”属性,(默认情况下,Android应用程序表现为sandBoxes并且不允许它们共享数据,它们也没有共同的上下文,所以“假的” “必须构建一个”问题来自于必须知道每个应用程序的packageName这一事实,因此数据共享发生在具有相同shareUserID值的应用程序之间。我的意思是,我想访问这些资源而不必询问存储它们的应用程序。
Context appOne = createPackageContext("com.xxx.zzz.appOne", CONTEXT_INCLUDE_CODE);
mSharedPref = appOne.getSharedPreferences("Test", Context.MODE_PRIVATE);
我试过的其他方式是使用AccountManager来存储该信息,以便其他应用程序可以访问它。坏消息是这个帐户将在系统中安装的所有应用程序之间共享,我希望这种行为更加严格,我希望能够选择哪些应用程序可以访问这些信息以及那些赢得了吨。
参考相关文章 (Should you use AccountManager for storing Usernames and Passwords for an Android app?)
有没有实现这个目标?任何帮助或提示将不胜感激,被困在这里几天......如果需要额外的信息,请随时提出要求。提前谢谢。