2011-04-15 67 views

回答

42
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifi.setWifiEnabled(false); // true or false to activate/deactivate wifi 

您还需要申请许可在AndroidManifest.xml中:

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

谢谢我试过但它没有工作。 – 2011-04-15 10:59:37

+1

它加入后,添加权限感谢... – 2011-04-15 11:19:44

+2

是的,不要忘记在您的清单中添加使用权限android.permission.CHANGE_WIFI_STATE – Codii 2011-04-15 13:46:55

3

试试这个代码

Intent gpsOptionsIntent = new Intent( android.provider.Settings.ACTION_WIFI_SETTINGS); 
      startActivityForResult(gpsOptionsIntent,0); 
+0

谢谢但我不想打开设置我想禁用或启用直接从我的应用程序 – 2011-04-15 10:59:21

13

为了使您的应用程序/禁用无线网络连接,你需要使用WiFiManager类。创建一个WiFiManager类的对象来获取WiFi的服务。

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

wifi.setWifiEnabled(false);//Turn off Wifi 

wifi.setWifiEnabled(true);//Turn on Wifi 

而且你必须把下面的权限在AndroidManifest.xml

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

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

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

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

为了得到启用的Android /停用WiFi与UI访问的全样本代码this website

+0

这是一个更完整的答案,包括所有必需的权限 – garlicman 2013-09-18 16:34:39

+0

同意大蒜,这应该是被接受的答案 – Tony 2014-08-13 13:06:57

+0

当我在我的项目中这样做,但是当这些代码执行时,系统将提示提示应用程序试图使用wlan是否允许它。并且它每次都出现!我可以在没有提示窗口的情况下启用wlan。 – SalutonMondo 2015-06-03 04:02:45

1

试试这个

public void disableWifi(Context context, Boolean bool) { 
    WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 

    if(bool) 
     wifi.setWifiEnabled(false); 
    else 
     wifi.setWifiEnabled(true); 
} 
+1

虽然这可能会回答这个问题,但也应该解释如何以及为什么。 – BDL 2015-08-06 10:33:09

0
public class MainActivity extends AppCompatActivity { 

    Switch btn; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     btn = (Switch) findViewById(R.id.switch1); 
     btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if (isChecked) { 
        toggleWiFi(true); 
        Toast.makeText(getApplicationContext(), "Wi-Fi Enabled!", Toast.LENGTH_LONG).show(); 
       } else { 
        toggleWiFi(false); 
        Toast.makeText(getApplicationContext(), "Wi-Fi Disabled!", Toast.LENGTH_LONG).show(); 
       } 
      } 
     }); 
    } 

    public void toggleWiFi(boolean status){ 
     WifiManager wifiManager = (WifiManager)this.getSystemService(WIFI_SERVICE); 
     if (status && !wifiManager.isWifiEnabled()) { 
      wifiManager.setWifiEnabled(true); 
     } else if (!status && wifiManager.isWifiEnabled()) { 
      wifiManager.setWifiEnabled(false); 
     } 
    } 
} 

在清单文件中添加用户权限

相关问题