要解决Android系统无法将短信发送到广播接收器 "SMS Retriever API" 的问题,你可以尝试以下解决方法:
注意:SmsBroadcastReceiver
是你自己定义的广播接收器类名,你需要在代码中实现该类。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECEIVE_SMS}, PERMISSION_REQUEST_SMS);
}
public class SmsBroadcastReceiver extends BroadcastReceiver {
private static final String SMS_RETRIEVED_ACTION = "com.google.android.gms.auth.api.phone.SMS_RETRIEVED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SMS_RETRIEVED_ACTION)) {
Bundle extras = intent.getExtras();
if (extras != null) {
Status status = (Status) extras.get(SmsRetriever.EXTRA_STATUS);
if (status != null && status.getStatusCode() == CommonStatusCodes.SUCCESS) {
String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);
// 处理短信
}
}
}
}
}
确保你的广播接收器类名和Intent过滤器中定义的一致。
通过完成以上步骤,你应该能够解决Android系统无法将短信发送到广播接收器 "SMS Retriever API" 的问题。