2017-01-03 10 views
0

Кто-нибудь знает, можно ли программным языком установить язык системы? Я знаю о проблеме, где мы не можем использоватьУстановить системный язык в устройстве

`android.permission.CHANGE_CONFIGURATION` 

(Google изменил его в Android 5.0+) я протестировал его с отражают методы. И его работа только тогда, когда мы даем разрешение с ADB. (Это не правильный путь)

adb grant mypackage android.permission.CHANGE_CONFIGURATION 

Моего приложение имеют права администратора, я надеюсь, что, может быть, есть еще один способ, когда мое приложение администратор приложения и я могу изменить региональные настройки устройства programmaticaly ?

+0

http://stackoverflow.com/questions/40942535/using-locale-to-force-android-to-use-a-specific-strings-xml-file-for-a-non-suppo/40986303#40986303 – Onik

ответ

0

Этот метод выполняет основную часть работы. Редактирование Соответственно

private static boolean updateResources(Context context, String language) { 
     Locale locale = new Locale(language); 
     Locale.setDefault(locale); 

     Resources resources = context.getResources(); 

     Configuration configuration = resources.getConfiguration(); 
     configuration.locale = locale; 

     resources.updateConfiguration(configuration, resources.getDisplayMetrics()); 

     return true; 
    } 

он выбирает новый язык из строки языка, который вы прошли, и затем обновляет файлы ресурсов приложения.

+0

Этот метод работает только для APP, мне нужен системный язык. – Peter