问题标签 [sms-retriever-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - SmsRetrieverClient 崩溃上次更新
谷歌文档说:
开始侦听传入消息 接下来,调用 SMS 用户同意 API 的 startSmsUserConsent() 方法开始侦听传入消息。如果您知道发送 SMS 消息的电话号码,请指定它(否则,传递 null)。这样,SMS 用户同意 API 将仅触发来自该号码的消息。
但最后一次更新包括更改: 在以前使用 @RecentlyNonNull 和 @RecentlyNullable 的地方使用了严格的可空性注释(@NonNull 和 @Nullable)。通过此更改,曾经导致空值警告的问题现在在构建 Kotlin 代码或使用 Java 空值检查框架时会导致错误。类似的注释更改将在其他 com.google.android.gms 工件的未来版本中逐步推出。
现在我在使用 SmsRetriever 时崩溃了。因为我在startSmsUserConsent()
更新: 我使用:
我的代码:
如果我们进入 startSmsUserConsent 我们可以看到:
当我将库更新到版本时:
现在,如果我们进入 startSmsUserConsent,我们将看到:
现在当 startSmsUserConsent 触发时,我会崩溃
我的构建:
更新: 另外,如果我更新
最高版本:
我遇到了同样的崩溃。可能问题出在“com.google.android.gms”中
android - 在 Play 商店发布后未调用 onVerificationCompleted
我不知道这个问题是否重复,但这两天我尝试了一些解决方案,但没有白费。
我的问题是关于通过用户的电话号码登录。
这是过程
像任何应用程序一样,我有一个用户界面,用户可以在按下登录按钮后输入他的有效电话号码,SMS OTP 代码将被接收。
一旦用户收到 OTP 代码(从 SmsrReceiver.java 读取代码),其他意图就会自动打开以验证该代码(自动填充)。
所有这些步骤都运行良好,但在 Play 商店发布后,此过程无法按预期工作。
问题是;在收到 SMS OTP 代码后,验证代码的第二个意图没有打开,我检查了我的源代码,我发现 onVerificationCompleted 没有被触发来执行 SmsReceiver 类。
这是 create 方法的回调:
输出:
onCodeSent 调用。
onReceive 调用 getStatusCode() = 15 <--- 在进入开关之前在 SmsrReceiver.java 中打印
onReceive TIMEOUT <--- 在 SmsrReceiver.java 中打印并进入切换到 CommonStatusCodes.TIMEOUT 的情况。
笔记
在我将它发布到游戏商店之前,发送的短信是这样的:284017 是您的验证码。BGkoAnpR3Rs
现在发送的短信是这样的: 601358 是您对 myAppName 的验证码
我不知道这 11 个哈希码是否会导致这个问题。
如果您有任何误解,请告诉我