例如,当我们为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)
然而,甚至不再接受这一点。
我错过了什么吗?
答案 0 :(得分:1)
你是部分正确的。 sendBroadcast方法由系统框架称为sendBroadcast(intent,“android.permission.ACCESS_WIFI_STATE”)。但关键是,第二个参数仅供android系统交叉检查接收组件/应用程序是否具有此权限 但是registerReceiver(接收器,过滤器,“android.permission.ACCESS_WIFI_STATE”,null)是完全不同的情况。此方法中的权限字符串表示此特定广播只能由清单中使用此权限的应用程序发送。它类似于清单中的android:permission属性。