Открытие настроек Android программно
Как я могу открыть настройки программно?
12 ответов
Вы можете открыть с
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
Вы можете вернуться, нажав кнопку "Назад" на устройстве.
Я использовал код из ответа, получившего наибольшее количество голосов:
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
Он открывает настройки устройства в том же окне, поэтому пользователи моего приложения для Android ( https://github.com/finnmglas/Launcher) для Android застряли там.
Ответ на 2020 год и далее (в Котлине):
startActivity(Intent(Settings.ACTION_SETTINGS));
Он работает в моем приложении, должен работать и в вашем без каких-либо нежелательных последствий.
Это сделало это для меня
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
Надеюсь помочь вам в этом деле.
Если кто-то найдет этот вопрос и вы захотите открыть настройки для своего конкретного приложения:
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.parse("package:" + context.packageName)
startActivity(intent)
Ознакомьтесь с программным отображением страницы настроек
startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);
В общем, вы используете предопределенную константу Settings.ACTION__SETTINGS
, Полный список можно найти здесь
Для этого просто используйте 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);
}
}
Следуя новому API, описанному на: https://developer.android.com/training/permissions/requesting
private val goToSettingsRequest = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { activityResult ->
// TODO: DEAL WITH THE CALLBACK
}
private fun goToSettings() {
goToSettingsRequest.launch(Intent(Settings.ACTION_SETTINGS))
}
Используйте это намерение, чтобы открыть экран безопасности и местоположения в приложении настроек устройства Android
startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));
открыть настройку местоположения 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();
Отправить пользователя в настройки с установленным пакетом, например, для разрешения WRITE_SETTINGS:
startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);