如何使用play services-*Depdencies显示电话号码和电子邮件选择器对话框?

mftmpeh8  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(319)

这一点已经被问了很多,但是自从反对 GoogleApiClient .
我想显示一个对话框,列出用户设备上的电话号码。另外,还有一个对话框,显示与设备相关的所有电子邮件。
有没有不使用GoogleAppClient的解决方案((现在已弃用)
解决方案不应该涉及任何可怕的权限(我不喜欢仅仅为了自动填充而请求权限)
解决方案的典型成功率是多少?有哪些android版本?原始设备制造商有多频繁地使用它导致它无法工作(这在GoogleAppClient解决方案中发生了)
一般来说,我不关心firebase、google登录或任何与auth相关的东西。我只想与电话号码和电子邮件弹出另一个弹出窗口,这样用户可以选择它在一次去,然后我去做我自己的身份验证(似乎有一些解决方案在推动googlesignin,而googlesignin甚至与问题无关)
例如,所有此类问题的公认方法如下:

val hintRequest = HintRequest.Builder()
            .setPhoneNumberIdentifierSupported(true)
            .build()

        val intent = Auth.CredentialsApi.getHintPickerIntent(
            googleApiClient, hintRequest
        )
        startIntentSenderForResult(
            intent.intentSender,
            123, null, 0, 0, 0, null
        )

然而,这不再有效。一个对话框闪烁并消失,我在onactivityresult中得到activity.result\u cancelled(0)结果代码。所以,要么这个功能已经被play服务随机停止,要么它被oem不可靠地实现,要么有一个新的非弃用方法来实现这个功能?
让我们停止这里的混乱。你知道一个可靠的方法来实现这一点吗?

zy1mlcev

zy1mlcev1#

帖子里提到了几个问题,我会一一解决。
有没有不使用GoogleAppClient的解决方案?->我们正在研究一个新的解决方案,但它将略有不同,我们目前提供的。新的解决方案允许用户选择一个google帐户进行登录。电话号码功能还没有到位,我稍后再谈。新的api将在第一季度末第二季度初发布。
我同意你的说法。然而,为了获得一个电话号码,应用程序需要持有一个与电话号码相关的权限(有关详细信息,请参阅android权限文档),或者我们需要加强许可/数据源。我们不打算将其更改为当前的解决方案。这是真的,现在的权限是混合的,即电话号码的权限是必需的,如果应用程序只是要求电子邮件-期待它在我们的新api修复。
当前解决方案适用于所有设备。这也是对您下面问题的回答:是的,当没有数据供用户选择时,当前实现可能会出现闪烁问题。我们将改进api,以便在没有数据的情况下应用程序不需要启动intent。对于成功率,如果你使用新的api,你应该能够在你的应用程序中测量成功率,因为googleapi的行为不那么不透明。
谷歌登录目前没有提供电话号码功能,我们即将发布的新api也没有。然而,团队正在考虑在我们的新api中构建电话号码特性。需要说明的是:我们正在考虑的新的电话号码功能是由google帐户支持的经过验证的电话号码,而不是电话号码自动填充。我们想听听您对此的一些反馈:)

相关问题