我正在尝试创建一个AccountAuthenticator
以便与我们的多个应用程序一起使用(因此,多个应用程序使用的系统设置中的一个帐户)。就像所有Google应用程序在系统上使用相同的帐户一样。
问题是:如何设置仅安装一个应用程序(我们不知道将安装哪个应用程序),而当安装第二个应用程序时,它可以重新使用现有帐户?
我已经使用此tutorial创建了AccountAuthenticator
,并将其嵌入到一个库项目中,该项目已包含在我们所有的应用程序中。仅安装一个应用程序时,这可以正常工作。
一旦安装了第二个应用程序并且用户尝试登录,系统就会显示intent-chooser对话框,他可以在其中选择我们的两个应用程序(因为它们都使用具有相同intent-filter的相同身份验证器库)。 here也应该是问题所在(但我尚未验证)。
通过一些研究,您会偶然发现sharedUserId
和this tutorial。但是这种“解决方案”有一个问题,那就是您需要某种始终安装有身份验证器的应用程序。另外,使用新的Google Play应用进行签名似乎是不可能的,因为每个应用都将使用不同的签名进行签名。
可能有一种方法可以授予其他应用程序访问身份验证器的权限,但是仍然存在需要首先安装身份验证器应用程序的问题(如建议的here)。
我该如何解决?如何与多个应用程序共享sharedUserId
,而无需先安装包含它的应用程序? Google如何做到这一点?他们在Play服务中有他们的身份验证器吗?
最佳答案
Google Play应用签名使您可以在多个应用中重复使用相同的签名,以解决此类问题。
看到此屏幕时,只需选择“重新使用签名密钥”:
关于android - 如何在多个应用程序(AccountAuthenticator,sharedUserId,Google Play应用程序签名)中使用一个帐户?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49044589/