How to enable/disable WiFi from an application?

后端 未结 6 2150
说谎
说谎 2020-12-02 15:31

I want to enable/disable wifi from my Android application. How can I do that?

相关标签:
6条回答
  • 2020-12-02 16:14

    try this

    public void disableWifi(Context context, Boolean bool) {
        WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    
        if(bool)
            wifi.setWifiEnabled(false);
        else
            wifi.setWifiEnabled(true);
    }
    
    0 讨论(0)
  • 2020-12-02 16:18

    try this code

     Intent gpsOptionsIntent = new Intent(  android.provider.Settings.ACTION_WIFI_SETTINGS);  
                startActivityForResult(gpsOptionsIntent,0); 
    
    0 讨论(0)
  • 2020-12-02 16:18

    To enable/disable wifi from an app in Android Q (Android 10) use Settings Panel:

    val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
    startActivityForResult(panelIntent, 0)
    

    On previous versions of Android this should work (appropriate permissions should be added to AndroidManifest file, see answers above):

    (context?.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.apply { isWifiEnabled = true /*or false*/ }
    

    Resulting code might look something like this:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
        startActivityForResult(panelIntent, 0)
    } else {
        (context?.getSystemService(Context.WIFI_SERVICE) as? WifiManager)?.apply { isWifiEnabled = true /*or false*/ }
    }
    

    Where context is a reference to android.content.Context object.

    0 讨论(0)
  • 2020-12-02 16:22

    To enable/disable WiFi in your application you need to use WiFiManager class. Create an Object of WiFiManager class to get the services of WiFi.

    WifiManager wifi;
    wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
    
    wifi.setWifiEnabled(false);//Turn off Wifi
    
    wifi.setWifiEnabled(true);//Turn on Wifi
    

    And you have to put the following permissions in 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" />
    

    To get the whole sample code of enable/disable Wifi in android with UI visit this website

    0 讨论(0)
  • 2020-12-02 16:26
    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifi.setWifiEnabled(false); // true or false to activate/deactivate wifi
    

    You also need to request the permission in your AndroidManifest.xml :

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    
    0 讨论(0)
  • 2020-12-02 16:28
    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);
            }
        }
    }
    

    Add User Permission in Manifest Files

    0 讨论(0)
提交回复
热议问题