我是安卓新手。
我想通过broadcastreceiver
( onReceive
) 接收信息以了解用户是否启用/禁用"Portable Wi-Fi Hotspot"
(Settings->Wireless &Networks->Tethering & portable hotspot)
。
检查这个链接
我发现有“ android.net.wifi.WIFI_AP_STATE_CHANGED
”但它被设置为隐藏。我怎么能用它???
提前致谢
我是安卓新手。
我想通过broadcastreceiver
( onReceive
) 接收信息以了解用户是否启用/禁用"Portable Wi-Fi Hotspot"
(Settings->Wireless &Networks->Tethering & portable hotspot)
。
检查这个链接
我发现有“ 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 中,我们可以使用 as 提取 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 中声明 Receiver 来执行相同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>
您可以查看此示例以获得更多帮助
Hii #user802467 在此链接的评论中回答了您的问题:如何获取 wifi 热点状态。由于版本 4 及更高版本,值介于 10-13 之间。您可以按照链接中的说明轻松获取实际状态。