Ouverture des paramètres Android par programmation

Réponses:

10

J'ai utilisé le code de la réponse la plus votée :

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

Il ouvre les paramètres de l'appareil dans la même fenêtre , donc les utilisateurs de mon application Android ( finnmglas / Launcher ) pour Android sont coincés là-dedans.

La réponse pour 2020 et au-delà (à Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

Cela fonctionne dans mon application, devrait également fonctionner dans la vôtre sans aucune conséquence indésirable.

Finnmglas
la source
4
2020 vous salue!
Behnam
Merci ami, veuillez mettre à jour votre code comme ceci: startActivity (new Intent (Settings.ACTION_SETTINGS));
Muhammad Ali
200

Vous pouvez ouvrir avec

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

Vous pouvez revenir en appuyant sur le bouton Retour de l'appareil.

Kjurkovic
la source
un moyen de revenir lorsque l'utilisateur a appuyé sur le bouton Effacer le cache?
SweetWisher ツ
1
@SweetWisher ヅ Il vous suffit d'éditer le code source.
Behnam le
2
Vous pouvez maintenant utiliser Intent intent = new Intent (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (intention); Il existe tout un tas de constantes pour chaque catégorie de paramètres principaux parmi lesquelles vous pouvez choisir. Écrivez simplement les paramètres. et Android Studio vous montrera toutes les catégories en saisie semi-automatique.
Asim Qasımzade
1
Puis-je rechercher un paramètre particulier dans l'application Paramètres et ouvrir ce paramètre particulier par programme à partir de mon application? Par exemple, puis-je rechercher OTG à partir de mon application dans les paramètres du téléphone?
Divya Gupta le
Il me semble que l'utilisation de StartActivity est suffisante, j'obtiens toujours le résultat ANNULER en revenant à l'application (ce qui est normal en revenant avec le bouton de retour). Ainsi, l'application n'est pas informée des paramètres modifiés de cette manière.
this.myself
37

Cela l'a fait pour moi

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

Quand ils appuient, cela revient à mon application.

TMH
la source
Quel écran de paramètres cette offre-t-elle?
IgorGanapolsky
1
@IgorGanapolsky il ouvre les paramètres basés sur l'emplacement dans le "Réglage"
androminor le
20

Vous pouvez essayer d'appeler:

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

pour un autre écran dans l'écran de réglage, vous pouvez aller à

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

J'espère vous aider dans ce cas.

Café Không Đường
la source
2
Vous devez passer "REQUEST_CODE" comme 2ème argument de startActivityForResult.
Chintan Rathod le
9

Consultez la page d' affichage des paramètres par programmation

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

En général, vous utilisez la constante prédéfinie Settings.ACTION__SETTINGS. La liste complète peut être trouvée ici

GrIsHu
la source
1
Existe-t-il un moyen d'ouvrir les paramètres dans la nouvelle option: «Contrôler quelles applications peuvent lire vos notifications» (ajoutée dans l'API 18)?
Javi
6

Pour ce faire, utilisez simplement une intention en utilisant la constante ACTION_SETTINGS , spécifiquement définie pour afficher les paramètres système:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () est facultative, uniquement si vous souhaitez renvoyer des données lorsque l'activité des paramètres est fermée.

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

ici vous pouvez trouver une liste de contants pour afficher les paramètres spécifiques ou les détails d'une application.

Jorgesys
la source
6

Vous pouvez faire un autre cours pour faire ce genre d'activités.

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
la source
3

Utilisez cette intention pour ouvrir l'écran de sécurité et de localisation dans l'application des paramètres de l'appareil Android

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

Si quelqu'un trouve cette question et que vous souhaitez ouvrir les paramètres de votre application spécifique:

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

Envoyer l'utilisateur aux paramètres avec le package localisé, exemple d'autorisation WRITE_SETTINGS:

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

ouvrir le paramètre d'emplacement Android par programme à l'aide de la boîte de dialogue d'alerte

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
la source