监测在Android上的热点国家(Monitoring the Hotspot state in A

2019-08-16 17:29发布

我是新到Android。
我希望收到通过信息broadcastreceiveronReceive )知道,如果用户启用/禁用"Portable Wi-Fi Hotspot" (Settings->Wireless &Networks->Tethering & portable hotspot)
检查这个环节 ,我发现有“ android.net.wifi.WIFI_AP_STATE_CHANGED ”,但它被设置为隐藏。 任何我怎么可以使用???

提前致谢

Answer 1:

接收启用/禁用“便携式Wi-Fi热点”事件,你需要注册一个接收器WIFI_AP_STATE_CHANGED为:

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

广播接收器的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行动,也包括所有必要的WiFi权限AndroidManifest.xml

编辑:

在AndroidManifest添加接收器:

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

你可以看到这个更多的帮助例如



Answer 2:

HII#user802467有回答你的问题,在这个环节中评论问: 如何获得wifi热点的状态 。 值是10-13的,因为4及以上版本之间。 您可以轻松地获得实际的状态中的链接解释。



文章来源: Monitoring the Hotspot state in Android