我正在处理身份验证过程,我找到的最好的是this链接。这符合我的应用程序需要perfectaly。
但我面临的问题是,在完成所述步骤后,我看到一个隐藏的电话号码选择器对话框,我在onActivityResult回调中得到了回复,作为一个结果和空数据。
我不知道为什么该对话框自动关闭它而不让用户选择电话号码并且它在OnActivityResult中自行返回并取消了结果代码。
请帮助我,我被困在里面,我不知道怎么去那个方向。
答案 0 :(得分:0)
我认为这是SIM的问题。有些SIM卡可以使用,有些则不行。我建议你在真实设备上进行测试。并更改您的SIM卡,以确保它不一定是运营商的问题。
我有同样的问题,然后我更换了SIM卡,那些代码开始为我工作。这真是令人惊讶地注意到它并非适用于所有SIM卡。我来自印度。希望这对任何亚洲开发者都有帮助。
答案 1 :(得分:0)
我对此有完全相同的问题。 在某些手机上(即使是全新的手机),电话号码对话框出现并迅速解除。 然后凭证ID返回空值。
onActivityResult
val credential: Credential? = data.getParcelableExtra(Credential.EXTRA_KEY)
var phoneNumber = credential?.id
if (phoneNumber == null) {
val tMgr = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
phoneNumber = tMgr.line1Number
}
我试图找到原因但失败了。相反,我在这种特殊情况下使用telephonyManager。这仍然不是一个好的解决方案,因为用户应该看到异常行为,并且还应该同意电话许可。我也认为这与SIM卡有关。