在应用之间共享少量数据

时间:2013-10-05 18:13:22

标签: android

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

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

好的,经验教训不要使用SharedPreferences(我想)。但我现在需要的是将单个字符串存储在其他应用程序可以读取的地方。

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

1 个答案:

答案 0 :(得分:0)

您可以使用广播接收器。当应用程序A中的数据发生变化时,您所要做的就是向应用程序B发送广播。然后,应用程序B可以在后台处理数据,并根据需要进行存储。它可能有点过度杀戮,可能有更好的方法,但它会起作用。