为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUWWW 2019-07-30 11:09:34
Android:如何以编程方式启用/禁用Wifi或Internet连接使用Connectivity Manager Class,我们可以访问wifi或Internet网络:ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);// ARE WE CONNECTED TO THE NETif ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||   connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {   // ...}其中0和1分别指移动和wifi连接如果我的Android设备连接到两者,我们可以在任何网络之间切换,还是可以禁用任何网络?喜欢使用功能:connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED);
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-07-30
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

启用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


查看完整回答
反对 回复 2019-07-30
?
精慕HU

TA贡献1845条经验 获得超8个赞

完整的解决方案:

try {
    WifiManager wifi = (WifiManager) 
        context.getSystemService(Context.WIFI_SERVICE);

    WifiConfiguration wc = new WifiConfiguration();
    wc.SSID = "\"SSIDName\"";
    wc.preSharedKey  = "\"password\"";
    wc.hiddenSSID = true;
    wc.status = WifiConfiguration.Status.ENABLED; 

    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    wc.allowedPairwiseCiphers        .set(WifiConfiguration.PairwiseCipher.TKIP);
    wc.allowedPairwiseCiphers        .set(WifiConfiguration.PairwiseCipher.CCMP);
    wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

    boolean b=wifi.isWifiEnabled();
    if (b) {
        wifi.setWifiEnabled(false);
        Toast.makeText(context, "yes", Toast.LENGTH_SHORT).show();
    } else {
        wifi.setWifiEnabled(true);
        Toast.makeText(context, "no", Toast.LENGTH_SHORT).show();
    }
    //Log.d("WifiPreference", "enableNetwork returned " + b );} catch (Exception e) {
    e.printStackTrace();}

参考:http//amitkumar-android.blogspot.com/p/installation-steps.html


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 2154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信