如何在多个应用中使用一个帐户(AccountAuthenticator,sharedUserId,Google Play App Signing)?

问题描述 投票:2回答:1

我正在尝试创建一个与多个应用程序一起使用的AccountAuthenticator(因此多个应用程序使用的系统设置中的一个帐户)。就像所有Google应用在系统上使用相同的帐户一样。

问题是:如何设置只需要安装一个应用程序(我们不知道它将是哪个),并且当安装第二个应用程序时,它可以重新使用现有帐户?


我使用这个AccountAuthenticator创建了我的tutorial并嵌入到我们所有应用程序中包含的库项目中。只安装一个应用程序时,此工作正常。

一旦安装了第二个应用程序并且用户尝试登录,系统就会显示intent-chooser对话框,他可以在其中选择我们的两个应用程序(因为它们都使用具有相同intent-filter的相同authenticator-library)。这应该是问题here(但我还没有验证它)。


通过一些研究,你会偶然发现sharedUserIdthis tutorial。但是这个“解决方案”存在问题,你需要某种始终首先安装的应用程序,其中包含验证器。此外,使用新的Google Play应用程序签名sharedUserId似乎不可能,因为每个应用程序都将使用不同的签名进行签名。

可能有一种方法可以授予其他应用程序访问身份验证器的权限,但仍然存在首先需要安装authenticator-app的问题(如建议的here)。


我怎么解决这个问题?我如何与多个应用程序共享AccountAuthenticator而无需先安装应用程序?谷歌是如何做到的?他们在Play服务中有他们的身份验证员吗?

android accountmanager android-app-signing
1个回答
1
投票

Google Play App签名允许您在多个应用中重复使用相同的签名,以解决此类问题。

当您看到此屏幕时,只需选择“重用签名密钥”:

© www.soinside.com 2019 - 2024. All rights reserved.