且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

监测热点状态的Andr​​oid

更新时间:2023-02-02 19:30:44

接受启用/禁用便携式Wi-Fi热点事件,您将需要为WIFI_AP_STATE_CHANGED作为注册一个接收器:

to receive enable/disable "Portable Wi-Fi Hotspot" events you will need to register an Receiver for WIFI_AP_STATE_CHANGED as :

mIntentFilter = new IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED");
registerReceiver(mReceiver, mIntentFilter);

里面的BroadcastReceiver的onReceive我们可以使用提取的WiFi热点状态 wifi_state 为:

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)) {

             // get Wi-Fi Hotspot state here 
            int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);

            if (WifiManager.WIFI_STATE_ENABLED == state % 10) {
                // Wifi is enabled
            }

        }
    }
};

您可以通过在AndroidManifest宣布接收机 android.net.wifi.WIFI_AP_STATE_CHANGED 动作做同样的,也包括 AndroidManifest所有必要的WiFi权限。 XML

you can do same by declaring Receiver in AndroidManifest for android.net.wifi.WIFI_AP_STATE_CHANGED action and also include all necessary wifi permissions in AndroidManifest.xml

编辑:

在AndroidManifest添加接收器为:

Add receiver in AndroidManifest as :

<receiver android:name=".WifiApmReceiver">
    <intent-filter>
        <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
    </intent-filter>
</receiver>

您可以看到这个的例子更多的帮助

you can see this example for more help