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?
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.
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);