Po zainstalowaniu programu I moim Android sprawdzać lokalizacji urządzenia:Android locale urządzenie get
String deviceLocale=Locale.getDefault().getLanguage();
Jeśli deviceLocale jest wewnątrz moje obsługiwane języki (angielski, francuski, niemiecki) Nie zmieniać ustawienia regionalne.
Ale na przykład powiedz, że jeśli nie obsługuję języka urządzenia: na przykład hiszpański.
Ustawiam bieżące ustawienia narodowe na angielski, ponieważ większość osób może częściowo rozumieć angielski.
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
pContext.getResources().updateConfiguration(config, null);
Ale potem, w innych metodach, kiedy sprawdzić ustawienia narodowe urządzenia takiego:
String deviceLocale=Locale.getDefault().getLanguage();
otrzymuję wynik jako "English". Ale lokalizacja urządzenia to hiszpański.
Czy funkcja getLanguage() udostępnia lokalną lokalizację aplikacji?
Jak mogę uzyskać ustawienia regionalne urządzenia?
Edytuj: W pierwszym uruchomieniu aplikacji można zapisać ustawienia regionalne urządzenia. Ale jeśli użytkownik zmieni ustawienia regionalne urządzenia po zapisaniu, nie mogę znać nowych ustawień regionalnych urządzenia. Mogę znać tylko ustawienia narodowe, które zapisałem w instalacji aplikacji.
Jeśli otrzymasz domyślne locale PO ustawieniu go ... 'otrzymasz to, co ustawiłeś'. Może to być opcja zapisania ustawień narodowych PRZED ich zmianą (powiedzmy, do SharedPreference), aby odzyskać je później - jeśli chcesz wrócić. –
Kiedy jednak wracam i ładuję zapisaną lokalnie wartość, otrzymuję najnowsze znane ustawienia regionalne urządzenia. Ale po zapisaniu, jeśli użytkownik zmienia ustawienia regionalne urządzenia, nie mogę znać aktualnego ustawienia regionalnego urządzenia? – trante
To dobry punkt. Mój był trochę hack. Nadal uważam, że nie masz dużo zabawy w zmianie ustawień regionalnych urządzenia więcej niż jeden raz w życiu telefonicznym ... lub bardziej "zabawnym", częściej niż raz dziennie. W każdym razie masz rację - mój hack tak naprawdę nie rozwiązuje problemu. –