13

我创建了一个BroadcastReceiver,它接收BOOT_COMPLETED.

在我的AndroidManifest.xml我添加它是这样的:

<receiver
    android:name=".OnBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" /> 
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
</receiver>

但是,我收到警告:导出的接收器不需要许可。 我已经在 SO 上阅读过它,但我并不完全理解它。

那么有人可以向这个初学者解释:)为什么我会收到这个警告,以及如何处理它(以及为什么)?

4

2 回答 2

8

警告

导出的接收者不需要权限

意味着,您有一个带有一些操作的意图过滤器(这意味着默认情况下您已android:exported="true"设置并且它现在可以接收来自您应用程序之外的任何广播公司的广播)因为它可以接收来自您的应用程序之外的任何广播公司的广播,它会通过以下方式警告您说“嘿,你确定任何广播公司都可以调用你吗?在我看来,最好只允许那些广播公司调用你,这些广播公司拥有你通过android:permission为这个接收者设置的权限”

希望这很清楚!

于 2013-12-17T18:08:40.097 回答
5

android:exported="false"您可以通过添加到接收器标签来删除此警告(请参阅此答案: https ://stackoverflow.com/a/11526028/757073 )

于 2013-02-13T08:44:11.197 回答