Android:存储可被多个应用程序访问的数据

问题描述:

我有4个(或更多)应用程序,第一个在设备上运行的应用程序(它可以是4个应用程序中的任何一个)的应用程序将生成唯一ID并将其存储在某个位置,并且之后运行的所有其他应用程序都需要读取由第一个正在运行的应用程序生成的唯一ID。Android:存储可被多个应用程序访问的数据

我想排除External Storage选项,因为某些用户可能很容易更改存储的值。

我也考虑过Shared Preferences,但似乎用Shared Preferences我们可以实现多个应用程序来读取单个应用程序生成的数据,但是所有的应用程序都不能写这个共享数据。

+0

使用远程服务器并通过API进行连接。 –

+0

@AnirudhSharma我的要求是确定安装我的应用程序的客户端设备。我们不能在这种情况下使用这个选项。 – bashahul

+0

您可以使用内容提供者。内容提供者在android中的目的是在多个应用程序(进程)之间共享数据。 –

您还可以拥有Sqlite数据库选项并共享一个ContentProvider以便其他应用程序能够访问或修改数据。优点是这些数据将存储在本地,缺点是如果您需要数据安全性,则必须加密数据或选择“远程服务器”选项。

+0

在上面给出的场景中,如果我必须使用'Content Provider'模式,那么4个应用程序中的任何一个都可以是'Provider',取决于哪个应用程序首先运行。由于提供者不能在开发(编译)时确定。我认为相同的提供者名称不能用于多个应用程序 – bashahul

+0

您可以让一个应用程序存储ContentProvider和Sqlite DB,并为其他应用程序提供写/读权限。请参阅此处更多关于此主题的信息:https://developer.android.com/guide/topics/manifest/provider-element.html –