BroadcastReceiver需要android.permission.RECEIVE\u BOOT\u已完成
我的Android应用程序需要得到有关BroadcastReceiver需要android.permission.RECEIVE\u BOOT\u已完成,android,broadcastreceiver,android-permissions,Android,Broadcastreceiver,Android Permissions,我的Android应用程序需要得到有关BOOT\u COMPLETED事件的通知。AndroidManifest.xml包含和内部和。是否存在特定于API级别的差异?Android文档说明:如果您不请求此权限,您将无法在该时间接收广播。 将接收器标签作为 <receiver android:name=".OnBootReceiver"> <intent-filter> <action android:name="android.intent.
BOOT\u COMPLETED
事件的通知。AndroidManifest.xml包含
和内部和。是否存在特定于API级别的差异?Android文档说明:如果您不请求此权限,您将无法在该时间接收广播。
将接收器标签作为
<receiver android:name=".OnBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
还要确保包含已完成的启动权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
是否需要android:permission=“android.permission.RECEIVE\u BOOT\u COMPLETED”
不,对于这种特殊情况,您不一定需要在
声明中包含权限
属性。从:
android:permission
广播者必须向广播接收者发送消息的权限的名称。如果未设置此属性,则
由设置的权限,无论如何只能由系统发送。它不会伤害到你,但也不是必须的
编辑:
保留permission
属性可能不会有什么坏处,但是有这么多Android版本和设备更改,我不会包含该属性只是为了确定。我没有将其包含在我的应用程序中。您的两个链接都包含android:permission=“android.permission.RECEIVE\u BOOT\u COMPLETED”
否,后者包含
标记,但不包含
内的权限。我确实请求权限
。我的问题是,我是否仍然需要特定于接收者的权限?我的问题是关于
标记中的权限。我更新了我的问题,以便更清楚地说明这一点。如果您不提交清单,那么您的接收器在引导完成后将不会被触发。是的,我知道这一点。我的问题是关于接收者是否需要许可的问题。@JuusoOhtonen,检查我的回答。你不一定需要它,但把它放在那里也没什么坏处。你是第一个似乎明白我的要求的人。链接的文档正好说明了我想要的内容:“这是一个受保护的意图,只能由系统发送。”我想这自API级别1以来没有改变过?是的,我相信自API级别1以来一直如此,至少自API 8以来是如此。不过,我添加了一个编辑,因为我不确定保留权限
属性是否重要。由于没有必要,我认为不包含它更安全。注释“这是一个受保护的意图,只能由系统发送。”in intent.java已于2009年添加:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>