无线和网络->网络-6ren">
gpt4 book ai didi

android - 在 Android 中监控热点状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:50 25 4
gpt4 key购买 nike

我是安卓新手。
我想通过 broadcastreceiver (onReceive) 接收信息,以了解如果用户启用/禁用 "Portable Wi-Fi Hotspot" (设置->无线和网络->网络共享和可移植热点)
检查这个link我发现有“android.net.wifi.WIFI_AP_STATE_CHANGED”但它被设置为隐藏。我该如何使用它???

提前致谢

最佳答案

要接收启用/禁用“可移植 Wi-Fi 热点”事件,您需要为 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)) {

// 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 操作声明 Receiver 并在 AndroidManifest.xml 中包含所有必要的 wifi 权限来实现同样的效果

编辑:

在 AndroidManifest 中添加接收器:

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

可以看到this更多帮助示例

关于android - 在 Android 中监控热点状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com