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

新手上路,请多包涵

使用 Connectivity Manager 类,我们可以访问 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 ) {
  // ...
}

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

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

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

原文由 Rohit Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 804
2 个回答

我知道启用或禁用 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"/>

原文由 viv 发布,翻译遵循 CC BY-SA 4.0 许可协议

启用 WiFi:

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

要禁用 WiFi:

 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

原文由 Valeh Ağayev 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题