Wie man die aktuelle locale-API (level 24)?
Ich mache auf diese Weise:
context.getResources().getConfiguration().locale
- Konfiguration ist.locale
ist veraltet, wenn sich das Ziel 24. Also machte ich diese änderung:
context.getResources().getConfiguration().getLocales().get(0)
Nun heißt es, dass es nur für minSdkVersion
24, so kann ich nicht verwenden, da meine min Ziel niedriger ist.
Was ist die richtige Methode?
InformationsquelleAutor user3290180 | 2016-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen, welche version Sie laufen und fallback auf die veraltete Lösung:
InformationsquelleAutor Egor
Könnten Sie
Locale.getDefault()
, das ist der Java-standard-Weg, um den aktuellenLocale
.Wenn Sie wählen Sie das Gebietsschema manuell, rufen Sie Ländereinstellung auf.setDefault()
Dies ist sehr wichtig, da ansonsten Java-Bibliotheken nicht abholen die richtige Gebietsschema richtig.
InformationsquelleAutor Ken Van Hoeylandt
In
Configuration.java
:Also im Grunde mit
locale
im Grunde gibt die primäre Gebietsschema der Benutzer setzt. Die akzeptieren, die Antwort ist genau dasselbe wie das Lesenlocale
direkt.Jedoch das Gebietsschema ist nicht unbedingt die, die man verwendet, wenn man Ressourcen. Es könnte der Benutzer die sekundäre Gebietsschema, wenn die primäre Gebietsschema nicht verfügbar ist.
Hier eine richtigere version:
InformationsquelleAutor Mygod