Обычно я получаю экран настройки Wi-Fi на эмуляторе, нажимая на Settings > Wireless controls > wifi settings
. Мне нужно перейти непосредственно к экрану настроек Wi-Fi из моей программы, нажав на кнопку Wi-Fi, которую я создал. Контакты, журналы звонков, которые мы можем обрабатывать с помощью Intent.setData(android.provider.contacts...........). Есть ли способ открыть подменю/меню настроек из программы Android?
Пожалуйста, дайте мне совет или образец кода.
Как я могу вызвать экран настроек Wi-Fi из своего приложения с помощью Android
Ответ 1
Посмотрите android.provider.Settings
для серии действий Intent
, которые вы можете использовать для запуска различных экранов настроек (например, ACTION_WIFI_SETTINGS
).
EDIT: Добавьте строку кодирования.
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
Ответ 2
Пример
ConnectivityManager manager = (ConnectivityManager)
getSystemService(MainActivity.CONNECTIVITY_SERVICE);
/*
* 3G confirm
*/
Boolean is3g = manager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
/*
* wifi confirm
*/
Boolean isWifi = manager.getNetworkInfo(
ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
if (is3g) {
textView.setText("3G");
} else if (isWifi) {
textView.setText("wifi");
} else {
textView.setText("nothing");
// Activity transfer to wifi settings
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
}
Ответ 3
Просто нужно назвать намерение контекстом, попробуйте следующее:
startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
Ответ 4
Если вы хотите сделать это из XML файла:
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="@string/setting_key"
android:summary="@string/setting_summary"
android:title="@string/setting_title" >
<intent
android:action="android.settings.WIRELESS_SETTINGS"/>
</PreferenceScreen>
Это покажет запись в настройках, которые вызывают активность настроек платформы.
Ответ 5
Вот фрагмент кода, чтобы открыть страницу настроек wifi
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);
Ответ 6
на кнопке нажмите кнопку "Список"
startActivityForResult (новый Intent (Settings.ACTION_WIFI_SETTINGS), 0);