Android13在settings中是接收Supplicant_state_change广播,可以接着这个,在发广播的地方SupplicantStateTracker文件中在DefaultState状态机中调用sendSupplicantStateChangedBroadcast的时候,上面有个StateChangeResult对象,这个对象的toString方法能将ssid和bssid打出来,如何将这个通过广播intent发出去
时间: 2024-03-05 16:48:00 浏览: 105
你可以在SupplicantStateTracker文件中的DefaultState状态机中找到sendSupplicantStateChangedBroadcast方法。在这个方法中,你可以创建一个新的Intent对象,并在其中添加包含ssid和bssid的额外数据。然后,你可以使用Context的sendBroadcast方法发送这个Intent对象。下面是示例代码:
```
private void sendSupplicantStateChangedBroadcast(SupplicantState state, boolean failedAuth) {
// create a new Intent object
Intent intent = new Intent(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
// add ssid and bssid as extra data
intent.putExtra("ssid", mWifiInfo.getSSID());
intent.putExtra("bssid", mWifiInfo.getBSSID());
// add SupplicantState and failedAuth as extra data
intent.putExtra(WifiManager.EXTRA_NEW_STATE, state);
intent.putExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, failedAuth);
// send the broadcast
mContext.sendBroadcast(intent);
}
```
在这个示例中,我们创建了一个名为intent的新Intent对象,并添加了ssid和bssid作为额外数据。然后,我们使用Context的sendBroadcast方法发送这个Intent对象。这样,其他应用程序就可以在接收到这个广播时获得ssid和bssid的值。
阅读全文