我创建了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上阅读了它,但我并不完全理解它。
所以有人可以向这个初学者解释:)为什么我会收到这个警告,以及该怎么做(以及为什么)?
答案 0 :(得分:8)
警告
导出的接收器不需要许可
手段,
您有一个带有某些操作的intent-filter(默认情况下,您设置了android:exported="true"
,现在可以从应用程序之外的 ANY 广播中接收广播
由于它可以从您应用程序之外的 ANY 广播机构接收广播,它会通过说“嘿,您确定 ANY 广播机构可以调用您来警告您吗?在我看来,它是更好的情况是,只允许那些广播公司通过 android:permission “
希望这很清楚!!!
答案 1 :(得分:5)
您可以通过将android:exported="false"
添加到接收者代码来删除此警告(请参阅此回答:https://stackoverflow.com/a/11526028/757073)