系统操作/意图是否以特定权限级别发送?

时间:2013-07-24 13:07:38

标签: android android-intent broadcastreceiver android-permissions

例如,当我们为WifiManager.WIFI_STATE_CHANGED_ACTION注册BroadcastRecievier时,我们会在应用的清单中添加所需的权限值:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

这是否意味着以类似于sendBroadcast(intent, "android.permission.ACCESS_WIFI_STATE")

的方式广播给定的权限

我试图注册这个事件,指明确切的permsission:

registerReceiver(receiver, filter, "android.permission.ACCESS_WIFI_STATE", null)

然而,甚至不再接受这一点。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

你是部分正确的。 sendBroadcast方法由系统框架称为sendBroadcast(intent,“android.permission.ACCESS_WIFI_STATE”)。但关键是,第二个参数仅供android系统交叉检查接收组件/应用程序是否具有此权限 但是registerReceiver(接收器,过滤器,“android.permission.ACCESS_WIFI_STATE”,null)是完全不同的情况。此方法中的权限字符串表示此特定广播只能由清单中使用此权限的应用程序发送。它类似于清单中的android:permission属性。