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.