在应用之间共享少量数据

sen*_*nin 6 android

我有几个应用程序实现了一些登录逻辑.如果让我们说一个应用程序被记录到some_account@gmail.com我希望所有这些应用程序都记录到some_account@gmail.com.如果我退出,我希望所有应用程序都这样做.但我不想马上做同样的事情.应用程序本身可以处理它,但它需要知道是否已经登录了其他应用程序,如果是,只需登录与此应用程序相同的电子邮件地址.所以我需要知道记录其他应用程序的电子邮件地址是什么.我需要存储一个字符串.

我首先考虑的是SharedPreferences,但这是一个相当糟糕的主意,因为还有其他选项(并且stackoverflow充满了进程之间使用SharedPreferences的不良示例).尽管我尝试了这个.设置sharedUserId所有应用程序,调用createPackageContext并最终尝试获取首选项.但我无法从中读到.总是我得到null,即使我使用了Context.Mode_WORLD_READABLE- 这是被弃用的.

好的,所吸取的教训不SharedPreferences适用于此(我想).但我现在需要的是将单个字符串存储在其他我的应用程序可以读取的地方.

也许我应该用ContentProvider?但严重的是...一根绳子?另一种选择是什么?我确信,对于如此简单的操作,我真的不需要Service或ContentProvider,但实际上我不知道该怎么做.

Bry*_*yer 0

您可以使用广播接收器。您所要做的就是当应用程序 A 中的数据发生更改时向应用程序 B 发送广播。然后应用程序 B 可以在后台处理数据,并按照您需要的方式存储它。这可能有点过头了,可能有更好的方法来做到这一点,但它会起作用。