在两个android应用程序之间共享字符串



我希望在2个android应用程序之间共享一些字符串。例如,应用B想知道用户是否登录了应用A,以及当前登录用户的名称。

stackoverflow上的许多例子都提供使用共享首选项(例如两个应用程序之间的数据共享)。但是android:sharedUserId自android 29以来已弃用,可以随时删除(https://developer.android.com/guide/topics/manifest/manifest-element#uid)

另一方面,有内容提供者。共享数据库似乎很合适,但共享字符串似乎太大了。

所以我的问题是:自Android 29以来,在应用程序之间共享简单对象的最佳选择是什么?

你可以使用带有AIDL的服务在应用程序之间共享你需要的任何东西:

Android接口定义语言(AIDL)与其他类似idl:它允许您定义编程接口客户端和服务端为了相互沟通而达成一致使用进程间通信(IPC)

https://developer.android.com/guide/components/aidl

你可能还需要为Android 11 (API级别30)定义一个查询

<manifest package="com.example.game">
<queries>
<!-- Specific apps you interact with, eg: -->
<package android:name="com.example.service" />
</queries>
...
</manifest>

最新更新