Programmgesteuertes Öffnen der Android-Einstellungen

110

Wie kann ich Einstellungen programmgesteuert öffnen?

Behnam
quelle

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.

finnmglas
quelle
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.

kjurkovic
quelle
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.

TMH
quelle
Welchen Einstellungsbildschirm bietet dieser?
IgorGanapolsky
1
@IgorGanapolsky öffnet ortsbezogene Einstellungen innerhalb der "Einstellung"
androminor
19

Sie können versuchen anzurufen:

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

Für einen anderen Bildschirm im Einstellungsbildschirm können Sie zu gehen

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

Hoffe dir in diesem Fall zu helfen.

Cafe Không Đường
quelle
2
Sie müssen "REQUEST_CODE" als 2. Argument von übergeben startActivityForResult.
Chintan Rathod
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

GrIsHu
quelle
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.

Jorgesys
quelle
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);
    }
}
Shohan Ahmed Sijan
quelle
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));
Satender Kumar
quelle
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)
tim.paetz
quelle
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);
phnghue
quelle
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();
Aftab Alam
quelle