Otwieranie ustawień Androida programowo


Odpowiedzi:


10

Użyłem kodu z najbardziej pozytywnej odpowiedzi :

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

To otwiera ustawienia urządzenia w tym samym oknie , więc dostał użytkownicy mojego Android ( finnmglas / Launcher ) dla android zakleszczony tam.

Odpowiedź na rok 2020 i później (w Kotlinie):

startActivity(Intent(Settings.ACTION_SETTINGS));

Działa w mojej aplikacji, powinien również działać w Twojej bez żadnych niepożądanych konsekwencji.


4
2020 pozdrawia Cię!
Behnam

Dzięki przyjacielu, zaktualizuj swój kod w ten sposób: startActivity (new Intent (Settings.ACTION_SETTINGS));
Muhammad Ali

200

Możesz otworzyć za pomocą

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

Możesz wrócić, naciskając przycisk Wstecz na urządzeniu.


jakikolwiek sposób, aby wrócić, gdy użytkownik nacisnął przycisk Wyczyść pamięć podręczną?
SweetWisher ツ

1
@SweetWisher ヅ Wystarczy wyedytować kod źródłowy.
Behnam

2
Teraz możesz użyć Intent intent = new Intent (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (intencja); Istnieje cała masa stałych dla każdej głównej kategorii ustawień, z których możesz wybierać. Po prostu napisz Ustawienia. a Android Studio pokaże wszystkie kategorie w autouzupełnianiu.
Asim Qasımzade

1
Czy mogę wyszukać określone ustawienie w aplikacji Ustawienia i otworzyć je programowo z poziomu mojej aplikacji? np. czy mogę przeszukiwać OTG z mojej aplikacji w Ustawieniach telefonu?
Divya Gupta

Wydaje mi się, że użycie StartActivity jest wystarczające, zawsze otrzymuję wynik ANULUJ po powrocie do aplikacji (co jest normalne, gdy wracam z przyciskiem Wstecz). Dzięki temu aplikacja nie jest w ten sposób powiadamiana o zmianie ustawień.
this.myself

37

Zrobiło to dla mnie

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

Po naciśnięciu przycisku wraca do mojej aplikacji.


Jaki ekran ustawień oferuje ten ekran?
Igor Ganapolsky

1
@IgorGanapolsky otwiera ustawienia oparte na lokalizacji w „Ustawieniach”
androminor


9

Sprawdź programowe wyświetlanie strony ustawień

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

Ogólnie rzecz biorąc, używasz predefiniowanej stałej Settings.ACTION__SETTINGS. Pełną listę można znaleźć tutaj


1
Czy jest sposób, aby otworzyć ustawienia w nowej opcji: „Kontroluj, które aplikacje mogą czytać Twoje powiadomienia” (dodana w API 18)?
Javi

6

Aby to osiągnąć, po prostu użyj intencji, używając stałej ACTION_SETTINGS , specjalnie zdefiniowanej w celu wyświetlenia ustawień systemowych:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () jest opcjonalne, tylko jeśli chcesz zwrócić niektóre dane po zamknięciu działania settings.

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

tutaj możesz znaleźć listę elementów, aby pokazać określone ustawienia lub szczegóły aplikacji.


6

Możesz stworzyć inną klasę do wykonywania tego rodzaju czynności.

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

Użyj tego zamiaru, aby otworzyć ekran zabezpieczeń i lokalizacji w aplikacji ustawień urządzenia z systemem Android

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

2

Jeśli ktoś znajdzie to pytanie i chcesz otworzyć ustawienia dla swojej konkretnej aplikacji:

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

0

Wyślij użytkownika do ustawień ze zlokalizowanym pakietem, na przykład dla uprawnienia WRITE_SETTINGS:

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

0

otwórz ustawienie lokalizacji Androida programowo za pomocą okna dialogowego ostrzeżenia

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();
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.