Cómo abrir el menú de configuración de Android programaticamente con Java

Cómo abrir el menú de configuración de Android programaticamente con Java

En caso de que tu aplicación necesite, que tu usuario haga algunos cambios en el menú de configuración del sistema en Android, por ejemplo dejar una aplicación por defecto para que abra un tipo específico de archivos etc, probablemente quieras hacer esta tarea lo más facil posible a tu usuario abriendo automáticamente el menú de configuración del sistema de android desde tu aplicación.

Mostrar configuración del sistema

Para mostrar el menú de configuración programaticamente, puedes usar el método startActivityForResult con un objeto Intent y una constante de Settings, el siguiente ejemplo muestra cómo abrir el menú de configuración general de Android:

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

El uso de la constante ACTION_SETTINGS con startActivityForResult mostrará la configuración del sistema. El proveedor de Configuración contiene las preferencias globales del dispositivo a nivel de sistema.

Acceder a las áreas de configuración específicas

La siguiente lista contiene todas las constantes que proveen acceso a diferentes areas del menú de configuración de Android.

Nota: no todas las constantes están disponibles en cada una de las versiones de android. En caso de que necesites más información visita la documentación oficial aquí

Constantes de android.provider.Settings

String ACTION_ACCESSIBILITY_SETTINGS

Acción de la actividad: muestra la configuración de los módulos de accesibilidad.

String ACTION_ADD_ACCOUNT

Acción de la actividad: Mostrar pantalla de cuenta adicional para crear una nueva cuenta.

String ACTION_AIRPLANE_MODE_SETTINGS

Acción de la actividad: Mostrar la configuración para permitir la entrada / salida del modo de avión.

String ACTION_APN_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de APN.

String ACTION_APPLICATION_DETAILS_SETTINGS

Acción de la actividad: Mostrar pantalla de detalles sobre una aplicación en particular.

String ACTION_APPLICATION_DEVELOPMENT_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de la configuración relacionada con el desarrollo de aplicaciones.

String ACTION_APPLICATION_SETTINGS

Acción de la actividad: Mostrar la configuración para permitir la configuración de la configuración relacionada con la aplicación.

String ACTION_BATTERY_SAVER_SETTINGS

Acción de la actividad: Mostrar los ajustes del protector de batería.

String ACTION_BLUETOOTH_SETTINGS

Acción de la actividad:Mostrar configuración para permitir la configuración de Bluetooth.

String ACTION_CAPTIONING_SETTINGS

Acción de la actividad: Mostrar la configuración de subtítulos de video.

String ACTION_CAST_SETTINGS

Acción de la actividad: Mostrar la configuración para permitir la configuración de los extremos de conversión.

String ACTION_DATA_ROAMING_SETTINGS

Acción de la actividad: Mostrar la configuración para la selección de 2G / 3G.

String ACTION_DATE_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de fecha y hora.

String ACTION_DEVICE_INFO_SETTINGS

Acción de la actividad: Mostrar la configuración general de información del dispositivo (número de serie, versión del software, número de teléfono, etc.).

String ACTION_DISPLAY_SETTINGS

Acción de la actividad: Mostrar la configuración para permitir la configuración de la pantalla.

String ACTION_DREAM_SETTINGS

Acción de la actividad: Mostrar los ajustes de Daydream.

String ACTION_HARD_KEYBOARD_SETTINGS

Acción de la actividad: Mostrar configuración para configurar el teclado del hardware.

String ACTION_HOME_SETTINGS

Acción de la actividad: Mostrar ajustes de selección de inicio.

String ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS

Acción de la actividad: Mostrar pantalla para controlar las restricciones de datos de fondo para una aplicación en particular.

String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS

Acción de la actividad: Mostrar pantalla para controlar qué aplicaciones pueden ignorar las optimizaciones de la batería.

String ACTION_INPUT_METHOD_SETTINGS

Acción de la actividad: Mostrar la configuración para configurar los métodos de entrada, en particular, permitiendo al usuario habilitar los métodos de entrada.

String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS

Acción de la actividad: Mostrar la configuración para activar / desactivar los subtipos del método de entrada.

String ACTION_INTERNAL_STORAGE_SETTINGS

Acción de la actividad: Mostrar la configuración del almacenamiento interno.

String ACTION_LOCALE_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de la configuración regional.

String ACTION_LOCATION_SOURCE_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de las fuentes de ubicación actuales.

String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS

Acción de la actividad: Mostrar configuración para administrar todas las aplicaciones.

String ACTION_MANAGE_APPLICATIONS_SETTINGS

Acción de la actividad: Mostrar la configuración para administrar las aplicaciones instaladas.

String ACTION_MANAGE_DEFAULT_APPS_SETTINGS

Acción de la actividad: Mostrar la configuración predeterminada de las aplicaciones.

String ACTION_MANAGE_OVERLAY_PERMISSION

Acción de la actividad: Mostrar pantalla para controlar qué aplicaciones pueden dibujar en la parte superior de otras aplicaciones.

String ACTION_MANAGE_WRITE_SETTINGS

Acción de la actividad: Mostrar pantalla para controlar qué aplicaciones se les permite escribir / modificar la configuración del sistema.

String ACTION_MEMORY_CARD_SETTINGS

Acción de la actividad: Mostrar la configuración del almacenamiento de la tarjeta de memoria.

String ACTION_NETWORK_OPERATOR_SETTINGS

Acción de la actividad: Mostrar la configuración para seleccionar el operador de red.

String ACTION_NFCSHARING_SETTINGS

Acción de la actividad: Mostrar configuración de NFC compartida.

String ACTION_NFC_PAYMENT_SETTINGS

Acción de la actividad: Mostrar la configuración de NFC Tap & Pay

Esto muestra la interfaz de usuario que permite al usuario configurar los ajustes de Tap & Pay.

String ACTION_NFC_SETTINGS

Acción de la actividad:Mostrar configuraciones NFC.

String ACTION_NOTIFICATION_LISTENER_SETTINGS

Acción de la actividad:Mostrar la configuración del oyente de notificación.

String ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS

Acción de la actividad: Mostrar la configuración de acceso No molestar.

String ACTION_PRINT_SETTINGS

Acción de la actividad: Mostrar la configuración de impresión de nivel superior.

String ACTION_PRIVACY_SETTINGS

Acción de la actividad: Mostrar la configuración para permitir la configuración de las opciones de privacidad.

String ACTION_QUICK_LAUNCH_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de atajos de inicio rápido.

String ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

Acción de la actividad: Pida al usuario que permita que una aplicación ignore las optimizaciones de la batería (es decir, colóquelas en la lista blanca de aplicaciones mostrada por ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS).

String ACTION_SEARCH_SETTINGS

Acción de la actividad:Mostrar configuración para la búsqueda global.

String ACTION_SECURITY_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de seguridad y privacidad de la ubicación.

String ACTION_SETTINGS

Acción de la actividad: Mostrar la configuración del sistema.

String ACTION_SHOW_REGULATORY_INFO

Acción de la actividad:Muestra la pantalla de información reguladora del dispositivo.

String ACTION_SOUND_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de sonido y volumen.

String ACTION_SYNC_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de la configuración de sincronización.

String ACTION_USAGE_ACCESS_SETTINGS

Acción de la actividad: Mostrar la configuración para controlar el acceso a la información de uso.

String ACTION_USER_DICTIONARY_SETTINGS

Acción de la actividad: Mostrar configuración para administrar el diccionario de entrada del usuario.

String ACTION_VOICE_CONTROL_AIRPLANE_MODE

Acción de la actividad: Modifique los ajustes del modo Avión con un comando de voz.

String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE

Acción de la actividad: Modifique el modo de ahorro de batería con un comando de voz.

String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE

Acción de la actividad: Modifique los ajustes del modo de no molestar.

String ACTION_VOICE_INPUT_SETTINGS

Acción de la actividad: Mostrar la configuración para configurar los métodos de entrada, en particular, permitiendo al usuario habilitar los métodos de entrada.

String ACTION_VPN_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de VPN.

String ACTION_VR_LISTENER_SETTINGS

Acción de la actividad: Mostrar la configuración de escucha de VR.

String ACTION_WEBVIEW_SETTINGS

Acción de la actividad: Permite al usuario seleccionar la implementación actual de la visualización web.

String ACTION_WIFI_IP_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de una dirección IP estática para Wi-Fi.

String ACTION_WIFI_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de Wifi.

String ACTION_WIRELESS_SETTINGS

Acción de la actividad: Mostrar configuración para permitir la configuración de controles inalámbricos, como Wi-Fi, Bluetooth y redes móviles.

String AUTHORITY

String EXTRA_ACCOUNT_TYPES

Actividad Extra: Limitar las opciones disponibles en la actividad iniciada en función de los tipos de cuenta dados.

String EXTRA_AIRPLANE_MODE_ENABLED

Actividad Extra: Activar o desactivar el modo avión.

String EXTRA_AUTHORITIES

Actividad Extra: Limitar las opciones disponibles en la actividad iniciada en base a la autoridad dada.

String EXTRA_BATTERY_SAVER_MODE_ENABLED

Actividad Extra: Activar o desactivar el modo de ahorro de batería.

String EXTRA_DO_NOT_DISTURB_MODE_ENABLED

Actividad Extra: Activar o desactivar el modo No molestar.

String EXTRA_DO_NOT_DISTURB_MODE_MINUTES

Actividad Extra: Cuántos minutos para activar no molestar modo para.

String EXTRA_INPUT_METHOD_ID

String INTENT_CATEGORY_USAGE_ACCESS_CONFIG

Activity Category: Mostrar la configuración de la aplicación relacionada con el acceso al uso.

String METADATA_USAGE_ACCESS_REASON

Clave de metadatos: Motivo de la necesidad de acceso al uso.

Por ejemplo, puedes abrir directamente el menú de configuración de lenguaje del dispositivo usando:

startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCALE_SETTINGS), 0);

Con la introdución de nuevas APIs de Android, abrán más areas de configuración con diferentes constantes, lee la documentación oficial del proveedor de configuración de Android aquí.

Agregar los permisos si es necesario

Para algunas areas en especial de la configuración de Android, necesitarás tener permisos. Por ejemplo, para abrir el menú de configuración de Bluetooth necesitarás agregar los siguientes permisos en el manifiesto de tu aplicación:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

Y luego podrás abrirlo usando:

startActivityForResult(new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS), 0);

De otra manera obtendrás la siguiente excepción:

java.lang.SecurityException: Permission Denial: starting Intent {} requires android.permission.BLUETOOTH_ADMIN

Que te diviertas!

Esto podría ser de tu interes

Conviertete en un programador más sociable