在以下文档中: https ://developers.google.com/identity/sms-retriever/user-consent/request
据说只有满足以下条件的消息才会触发广播:
- 该消息包含一个 4-10 个字符的字母数字字符串,其中
至少有一个数字。 - 该消息是由不在用户联系人中的电话号码发送的。
- 如果您指定了发件人的电话号码,则消息是由该号码发送的。
但是没有提到当不满足上述任何一个条件并且没有触发广播时如何处理这种情况。我们如何对最终用户进行此操作?
我能够处理成功和超时情况,处理这种情况将使代码更加用户友好。
switch (smsRetrieverStatus.getStatusCode()) {
case CommonStatusCodes.SUCCESS:
// Get consent intent
Intent consentIntent = extras.getParcelable(SmsRetriever.EXTRA_CONSENT_INTENT);
try {
// Start activity to show consent dialog to user, activity must be started in
// 5 minutes, otherwise you'll receive another TIMEOUT intent
startActivityForResult(consentIntent, SMS_CONSENT_REQUEST);
} catch (ActivityNotFoundException e) {
Log.d("Exception","ActivityNotFound");// Handle the exception ...
}
break;
case CommonStatusCodes.TIMEOUT:
Log.e("Timeout-Error:","Listened for msg for 5minutes");
break;
}