Android:如何以编程方式启用/禁用Wifi或互联网连接

2022-08-31 11:40:07

使用连接管理器类,我们可以访问wifi或Internet网络:

ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);

// ARE WE CONNECTED TO THE NET
if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
  connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {
  // ...
}

其中 和 分别指移动和 wifi 连接01

如果我的Android设备同时连接到两者,我们可以在任何网络之间切换还是禁用任何网络?就像使用函数一样:

connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED);

答案 1

我知道启用或禁用wifi:

WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(status);

状态可能在哪里或根据要求。truefalse

编辑:

您还需要在清单文件中具有以下权限:

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 

答案 2

要启用无线网络:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(true);

要禁用无线网络:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);

注意:要使用WiFi状态进行访问,我们必须在AndroidManifest.xml文件中添加以下权限:

android.permission.ACCESS_WIFI_STATE
android.permission.UPDATE_DEVICE_STATS 
android.permission.CHANGE_WIFI_STATE

推荐