registerReceiver 错误提示“必须是一种或多种类型”

问题描述 投票:0回答:1

使用

 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”

enter image description here

看来我对这个选项界面不太满意。它提供了更改为 RECEIVER_VISIBLE_TO_INSTANT_APPS 的提示,如果我这样做,错误就会消失。但这不是完美的选择。

android broadcastreceiver android-13 android-14
1个回答
0
投票

在 SDK 34 中

ContextCompat.registerReceiver(
   requireContext(),
   smsReceiver,
   IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION),
   RECEIVER_NOT_EXPORTED
)
© www.soinside.com 2019 - 2024. All rights reserved.