要接收启用/禁用“便携式 WiFi 热点”事件,您需要注册一个接收器以监听 WIFI_AP_STATE_CHANGED 事件:
mIntentFilter = new IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED");
registerReceiver(mReceiver, mIntentFilter);
在 BroadcastReceiver 的 onReceive 方法中,我们可以使用 wifi_state
提取 WiFi 热点的状态:
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if ("android.net.wifi.WIFI_AP_STATE_CHANGED".equals(action)) {
int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
if (WifiManager.WIFI_STATE_ENABLED == state % 10) {
}
}
}
};
在AndroidManifest中声明接收器来执行android.net.wifi.WIFI_AP_STATE_CHANGED操作,并在AndroidManifest.xml中包含所有必要的wifi权限。
编辑:将接收器添加到AndroidManifest中,如下所示:
<receiver android:name=".WifiApmReceiver">
<intent-filter>
<action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
</intent-filter>
</receiver>
您可以查看此示例以获取更多帮助
if (WifiManager.WIFI_STATE_ENABLED == state % 10)
。 - user1922137