Programmgesteuertes Öffnen der Android-Einstellungen


Antworten:


10

Ich habe den Code aus der am besten bewerteten Antwort verwendet :

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

Es öffnet die Geräteeinstellungen im selben Fenster , so dass die Benutzer meiner Android-Anwendung ( finnmglas / Launcher ) für Android dort stecken bleiben.

Die Antwort für 2020 und darüber hinaus (in Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

Es funktioniert in meiner App, sollte auch in Ihrer funktionieren, ohne unerwünschte Konsequenzen.


4
2020 begrüßt Sie!
Behnam

Danke Freund, bitte aktualisiere deinen Code wie folgt: startActivity (new Intent (Settings.ACTION_SETTINGS));
Muhammad Ali

200

Sie können mit öffnen

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

Sie können zurückkehren, indem Sie die Zurück-Taste am Gerät drücken.


Gibt es eine Möglichkeit, zurück zu gelangen, wenn der Benutzer die Schaltfläche Cache löschen gedrückt hat?
SweetWisher

1
@SweetWisher ヅ Sie müssen nur den Quellcode bearbeiten.
Behnam

2
Jetzt können Sie Intent intent = new Intent verwenden (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (Absicht); Für jede Haupteinstellungskategorie, aus der Sie auswählen können, gibt es eine ganze Reihe von Konstanten. Schreiben Sie einfach Einstellungen. und Android Studio zeigt Ihnen alle Kategorien in Autocomplete.
Asim Qasımzade

1
Kann ich eine bestimmte Einstellung in der Einstellungs-App suchen und diese bestimmte Einstellung programmgesteuert in meiner App öffnen? Kann ich zB OTG über meine App in den Einstellungen des Telefons suchen?
Divya Gupta

Es scheint mir, dass die Verwendung von StartActivity ausreicht. Ich erhalte immer das Ergebnis CANCELD, wenn ich zur App zurückkehre (was normal ist, wenn ich mit der Zurück-Taste zurückkomme). Somit wird die App auf diese Weise nicht über geänderte Einstellungen informiert.
this.myself

37

Das hat es für mich getan

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

Wenn sie zurück drücken, geht es zurück zu meiner App.


Welchen Einstellungsbildschirm bietet dieser?
IgorGanapolsky

1
@IgorGanapolsky öffnet ortsbezogene Einstellungen innerhalb der "Einstellung"
androminor


9

Schauen Sie sich die Seite Programmgesteuertes Anzeigen der Einstellungen an

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

Im Allgemeinen verwenden Sie die vordefinierte Konstante Settings.ACTION__SETTINGS. Die vollständige Liste finden Sie hier


1
Gibt es eine Möglichkeit, die Einstellungen in der neuen Option zu öffnen: "Steuern Sie, welche Anwendungen Ihre Benachrichtigungen lesen können" (hinzugefügt in API 18)?
Javi

6

Um dies zu erreichen, verwenden Sie einfach eine Absicht mit der Konstanten ACTION_SETTINGS , die speziell definiert wurde, um die Systemeinstellungen anzuzeigen:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () ist nur dann optional, wenn Sie beim Schließen der Einstellungsaktivität einige Daten zurückgeben möchten.

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

Hier finden Sie eine Liste von Kandidaten, die bestimmte Einstellungen oder Details einer Anwendung anzeigen.


6

Sie können eine andere Klasse für diese Art von Aktivitäten erstellen.

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);
    }
}

3

Verwenden Sie diese Absicht, um den Sicherheits- und Standortbildschirm in der Einstellungs-App des Android-Geräts zu öffnen

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

2

Falls jemand diese Frage findet und Sie Einstellungen für Ihre spezifische Anwendung öffnen möchten:

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

0

Benutzer an Einstellungen senden Mit gefundenem Paket, Beispiel für die Berechtigung WRITE_SETTINGS:

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

0

Öffnen Sie die Android-Standorteinstellung programmgesteuert mithilfe des Warndialogs

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();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.