Abrir la configuración de Android mediante programación

Respuestas:

10

Usé el código de la respuesta más votada :

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

Se abre la configuración del dispositivo en la misma ventana , por lo que consiguió los usuarios de mi aplicación para Android ( finnmglas / Launcher ) para android atascado allí.

La respuesta para 2020 y más allá (en Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

Funciona en mi aplicación, también debería funcionar en la suya sin consecuencias no deseadas.

finnmglas
fuente
4
¡2020 te saluda!
Behnam
Gracias amigo, actualice su código de esta manera: startActivity (new Intent (Settings.ACTION_SETTINGS));
Muhammad Ali
200

Puedes abrir con

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

Puede regresar presionando el botón Atrás en el dispositivo.

kjurkovic
fuente
alguna forma de volver cuando el usuario presionó el botón Borrar caché?
SweetWisher ツ
1
@SweetWisher ヅ Solo tienes que editar el código fuente.
Behnam
2
Ahora puede usar Intent intent = new Intent (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (intención); Hay un montón de constantes para cada categoría de configuración principal entre las que puede elegir. Simplemente escriba Configuración. y Android Studio le mostrará todas las categorías en autocompletar.
Asim Qasımzade
1
¿Puedo buscar una configuración en particular dentro de la aplicación Configuración y abrir esa configuración en particular mediante programación desde mi aplicación? por ejemplo, ¿puedo buscar OTG desde mi aplicación en la configuración del teléfono?
Divya Gupta
Me parece que usar StartActivity es suficiente, siempre obtengo el resultado CANCELD cuando vuelvo a la aplicación (lo cual es normal cuando vuelvo con el botón Atrás). Por lo tanto, la aplicación no recibe notificaciones de cambios en la configuración de esta manera.
this.myself
37

Esto lo hizo por mi

Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);

Cuando presionan hacia atrás, vuelve a mi aplicación.

TMH
fuente
¿Qué pantalla de configuración ofrece esto?
IgorGanapolsky
1
@IgorGanapolsky abre la configuración basada en la ubicación dentro de "Configuración"
androminor
20

Puedes intentar llamar a:

startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));

para otra pantalla en la pantalla de configuración, puede ir a

https://developer.android.com/reference/android/provider/Settings.html

Espero ayudarte en este caso.

Café Không Đường
fuente
2
Debes pasar "REQUEST_CODE" como segundo argumento de startActivityForResult.
Chintan Rathod
9

Consulte la página de configuración de visualización mediante programación

    startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);

En general, utiliza la constante predefinida Settings.ACTION__SETTINGS. La lista completa se puede encontrar aquí

GrIsHu
fuente
1
¿Hay alguna forma de abrir la configuración en la nueva opción: "Controlar qué aplicaciones pueden leer sus notificaciones" (agregada en API 18)?
Javi
6

Para lograr esto, solo use un Intent usando la constante ACTION_SETTINGS , específicamente definida para mostrar la Configuración del sistema:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () es opcional, solo si desea devolver algunos datos cuando la actividad de configuración está cerrada.

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

aquí puede encontrar una lista de contenidos para mostrar configuraciones específicas o detalles de una aplicación.

Jorgesys
fuente
6

Puedes hacer otra clase para realizar este tipo de actividades.

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);
    }
}
Shohan Ahmed Sijan
fuente
3

Utilice esta intención para abrir la pantalla de seguridad y ubicación en la aplicación de configuración del dispositivo Android

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));
Satender Kumar
fuente
2

En caso de que alguien encuentre esta pregunta y desee abrir la configuración para su aplicación específica:

    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
    intent.data = Uri.parse("package:" + context.packageName)
    startActivity(intent)
tim.paetz
fuente
0

Enviar usuario a la configuración con el paquete ubicado, ejemplo para el permiso WRITE_SETTINGS:

startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);
phnghue
fuente
0

abrir la configuración de ubicación de Android mediante programación usando el diálogo de alerta

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();
Aftab Alam
fuente