3

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

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


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

一旦安装了第二个应用程序并且用户尝试登录,系统就会显示意图选择器对话框,他可以在其中选择我们的两个应用程序(因为它们都使用相同的身份验证器库和相同的意图过滤器)。这也应该是这里的问题(但我还没有验证它)。


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

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


我该如何解决这个问题?如何在AccountAuthenticator不先安装一个应用程序的情况下与多个应用程序共享它?谷歌是如何做到的?他们在 Play 服务中有身份验证器吗?

4

1 回答 1

2

Google Play 应用签名允许您在多个应用程序中重复使用相同的签名,正是针对此类问题。

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

于 2018-03-01T11:57:32.317 回答