是否发送具有特定权限级别的系统操作/意图



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

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

这是否意味着给定的许可以类似于sendBroadcast(intent, "android.permission.ACCESS_WIFI_STATE")的方式进行广播?

我试图注册这个指定确切排列的事件:

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

然而,再也没有收到。

我是不是错过了什么?

您部分正确。sendBroadcast方法被系统框架称为sendBroadcast(intent,"android.permission.ACCESS_WIFI_STATE")。但关键是,第二个论点只是让安卓系统交叉检查接收组件/应用程序是否具有此权限
然而,registerReceiver(receiver,filter,"android.permission.ACCESS_WIFI_STATE",null)的情况完全不同。此方法中的权限字符串意味着,只有在清单中使用此权限的应用程序才能发送此特定广播。它类似于清单中的android:permission属性。

最新更新