使用
ContextCompat.registerReceiver(this, mIntentReceiver, filter, ContextCompat.RECEIVER_EXPORTED);
或者
registerReceiver(mIntentReceiver, filter, Context.RECEIVER_EXPORTED);
它提示“必须是以下一项或多项:androidx.core.content.ContextCompat.RECEIVER_VISIBLE_TO_INSTANT_APPS、androidx.core.content.ContextCompat.RECEIVER_EXPORTED、androidx.core.content.ContextCompat.RECEIVER_NOT_EXPORTED”
看来我对这个选项界面不太满意。它提供了更改为 RECEIVER_VISIBLE_TO_INSTANT_APPS 的提示,如果我这样做,错误就会消失。但这不是完美的选择。
在 SDK 34 中
ContextCompat.registerReceiver(
requireContext(),
smsReceiver,
IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION),
RECEIVER_NOT_EXPORTED
)