Android支票启用Wi-Fi直连
如何检查Wi-Fi Direct是否在设备上激活?Android支票启用Wi-Fi直连
我试图检查无线网络连接方式如下:
WifiManager wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
return wifiManager.isWifiEnabled();
但也有不支持同步的Wi-Fi和Wi-Fi直连(华为Honor 4C设备,它关闭下载Wi-Fi,当你激活Wi-Fi Direct时),所以这种方式不起作用。
听WIFI_P2P_STATE_CHANGED_ACTION
在BroadcastReceiver
像there是不能接受太多,因为只有当我开始与Wi-Fi直接(如发现)一些动作会被触发,但我需要之前检查其状态。
您应该可以使用ConnectivityManager获取Wi-Fi的状态。
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
// Do whatever
}
请检查您的许可清单中ACCESS_NETWORK_STATE & & INTERNET。
这是关于Wi-Fi,而不是Wi-Fi Direct。此方法已被弃用。 – Artyom
,你可以做到这一点WifiDirectBroadcastReceiver这样的:
public class WiFiDirectBroadcastReceiver extends BroadcastReceiver {
private WifiP2pManager mManager;
private WifiP2pManager.Channel mChannel;
public WiFiDirectBroadcastReceiver(WifiP2pManager manager, WifiP2pManager.Channel channel) {
super();
this.mManager = manager;
this.mChannel = channel;
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Boolean isEnabled;
if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {
// check if Wi-Fi is enabled
int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
isEnabled = true;
} else {
isEnabled = false;
}
} else if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)) {
// get list of peers by WifiP2pManager.requestPeers()
} else if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) {
// Respond to new connections
} else if (WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION.equals(action)) {
// on device's wifi state changes
}
}
}
这是一个来自答案的代码,我链接的问题。我的情况是不可接受的。 – Artyom
的[wifi直连状态(https://*.com/questions/20034736/wifi-direct-status)可能的复制 – Basix
检查出来[https://*.com/questions/21533616/is-it-possible-to-connect-two-or-more-wifi-direct-groups?rq=1](https://*.com/questions/ 21533616/is-it-it-to-connect-two-or-more-wifi-direct-groups?rq = 1) –