Как я могу открыть настройки программно?
Программное открытие настроек Android
Ответы (11)
Я использовал код из ответа с наибольшим количеством голосов:
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
Он открывает настройки устройства в том же окне, таким образом получая доступ к пользователям моего приложения для Android (finnmglas /Launcher) для Android застрял там.
Ответ на 2020 год и далее (на языке Kotlin):
startActivity(Intent(Settings.ACTION_SETTINGS))
Это работает в моем приложении, должно работать и в вашем без каких-либо нежелательных последствий.
Вы можете открыть с
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
Вы можете вернуться, нажав кнопку «Назад» на устройстве.
onActivityResult
. Он также работает с startActivity. @finnmglas Android не имеет окон. У него есть действия - поскольку настройки - это отдельное приложение со своими собственными действиями, то, что вы говорите, становится совершенно глупым.
- person kjurkovic; 01.06.2020
Это сделало это для меня
Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);
Когда они нажимают назад, он возвращается к моему приложению.
Вы можете попробовать позвонить:
startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
для другого экрана на экране настроек вы можете перейти к
https://developer.android.com/reference/android/provider/Settings.html
Надеюсь помочь вам в этом случае.
startActivityForResult
.
- person Chintan Rathod; 13.09.2017
Ознакомьтесь с Программное отображение страницы настроек
startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);
Как правило, вы используете предопределенную константу Settings.ACTION__SETTINGS
. Полный список можно найти здесь
Если кто-то найдет этот вопрос, и вы хотите открыть настройки для вашего конкретного приложения:
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.parse("package:" + context.packageName)
startActivity(intent)
Для этого просто используйте Intent, используя константа ACTION_SETTINGS, специально определенная для отображения системные настройки:
startActivity(new Intent(Settings.ACTION_SETTINGS));
startActivityForResult() является необязательным, только если вы хотите вернуть некоторые данные при закрытии активности настроек.
startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);
здесь вы можете найти список содержимого для отображения конкретных настроек или сведений о приложении.
Вы можете создать еще один класс для выполнения такого рода действий.
public class Go {
public void Setting(Context context)
{
Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
Используйте это намерение, чтобы открыть экран безопасности и местоположения в приложении настроек устройства Android.
startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));
Отправить пользователя в настройки с обнаруженным пакетом, пример для разрешения WRITE_SETTINGS:
startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);
открыть настройку местоположения Android программно, используя диалоговое окно предупреждения
AlertDialog.Builder alertDialog = new AlertDialog.Builder(YourActivity.this);
alertDialog.setTitle("Enable Location");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
});
alertDialog.show();