如何修复未受保护的广播接收机警告?

How to fix Unprotected broadcast receiver warning?

提问人:eyal barcessat 提问时间:5/8/2022 最后编辑:Saeed Zhianyeyal barcessat 更新时间:10/18/2022 访问量:567

问:

我从广播接收器收到以下警告:

此广播接收器声明受保护的广播操作字符串,该字符串只能由系统发送,而不能由第三方应用程序发送。但是,接收方的方法似乎不会调用以确保收到的 Intent 的操作字符串与预期值匹配,这可能会使另一个参与者发送没有操作字符串或其他操作字符串的欺骗 Intent,并导致意外行为。intent-filteronReceivegetAction

我该如何解决?

我的代码:

public class NotifayTest extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //code
    }
}
java android-studio broadcastreceiver 警告

评论


答:

0赞 Juke 6/2/2022 #1

好吧,警告的解释说明了一切,不是吗?假设您正在过滤:Intent.ACTION_BOOT_COMPLETED

if (!Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
    // Maybe log something
    return
}