Juu*_*nen 5 android broadcastreceiver android-permissions
我的 Android 应用需要收到有关该BOOT_COMPLETED事件的通知。AndroidManifest.xml 包含<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />和内部<application>标记我有以下接收器定义:
<receiver android:name=".OnBootReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
是android:permission="android.permission.RECEIVE_BOOT_COMPLETED"必须的吗?如果它没有到位会发生什么,是否有任何应用程序能够模拟启动事件并调用我的应用程序的风险?
在某些示例中,接收器包含 RECEIVE_BOOT_COMPLETED 权限,而某些接收器不包含。是否存在 API 级别的特定差异?
是否需要 android:permission="android.permission.RECEIVE_BOOT_COMPLETED" ?
不,对于这种特殊情况,您不一定需要声明中的permission属性<receiver>。从文档:
android:permission广播者必须向广播接收者发送消息的权限名称。如果未设置此属性,则
<application>元素permission属性设置的权限适用于广播接收器。如果这两个属性都没有设置,则接收者不受权限保护。
因此,如果您想确保只有具有授权权限的广播公司才能发送它,则您只需要此属性。但是,它BOOT_COMPLETED是一个受保护的意图,无论如何只能由系统发送。把它放在那里不会有什么坏处,但也没有必要。
编辑:
它可能不会伤害离开permission属性存在,但有这么多的Android版本和设备改变了那里,我将不包括属性只是要确定。我没有将它包含在我的应用程序中。
| 归档时间: |
|
| 查看次数: |
12817 次 |
| 最近记录: |