Set or View “Advanced Wi-fi” Settings programatica

2019-02-13 20:18发布

问题:

I need a way to open the "Advanced wifi" settings programatically to let the user change some of the settings, or, preferably, to change these advanced wireless settings programatically.

I can only access the wi-fi settings so far via startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)) but not the advanced settings.

Is there a way to open the "Advanced wifi" settings?

回答1:

There are two more settings that might work for you:

From the API documentation:

  • Settings.ACTION_WIRELESS_SETTINGS

    startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
    
  • Settings.ACTION_WIFI_IP_SETTINGS

    startActivity(new Intent(android.provider.Settings.ACTION_WIFI_IP_SETTINGS));
    

Try those two and see if they open what you're after.



回答2:

Here is the code snippet to open WIFI settings page

Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
    intent.setComponent(cn);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity( intent);