Открытие настроек 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);
Другие вопросы по тегам