Дополнительно в намерении LocalePicker - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь вызвать com.android.settings / .LocalePicker через оболочку adb для включения в приложение Tasker.

Когда я делаю

am start -n com.android.settings/.LocalePicker

, я вижу только текущийЯзыковой стандарт системы и ни один из других параметров устройства.

Если вместо этого я перейду к скрытому меню «Настройки разработки», в котором в качестве параметра используется «Языковой стандарт», я получу полный интерактивный экран языков / языковых стандартов, с которогосделайте выбор.

Я должен отметить, что это на системе Android 2.1, поэтому многие другие современные опции недоступны.Это часть logcat от выбора Locale из скрытого меню настроек разработки:

I/ActivityManager( 1111): Starting activity: Intent {     
act=android.intent.action.MAIN cmp=com.android.settings/.LocalePicker   
(has extras) }
D/ResourceType( 1162): calling getConfigurations
D/ResourceType( 1162): called getConfigurations size=68
D/asset   ( 1162): locale  0: ''
D/asset   ( 1162): locale  1: 'de'
D/asset   ( 1162): locale  2: 'fr'
D/asset   ( 1162): locale  3: 'es'
D/asset   ( 1162): locale  4: 'it'
D/asset   ( 1162): locale  5: 'en_GB'
D/asset   ( 1162): locale  6: 'en_US'
D/asset   ( 1162): locale  7: 'zh_TW'
D/asset   ( 1162): locale  8: 'fr_CA'
D/asset   ( 1162): locale  9: 'de_DE'
D/asset   ( 1162): locale 10: 'fr_FR'
D/asset   ( 1162): locale 11: 'es_ES'
D/asset   ( 1162): locale 12: 'it_IT'
D/asset   ( 1162): locale 13: 'en'
D/asset   ( 1162): locale 14: 'zh'

«Имеются дополнения» не светится так, как я надеялся.Я исследовал это с моим ограниченным пониманием и осознаю, что при доступе к пункту меню отправляется некоторая дополнительная информация, а не просто отправка намерения через АБР.Но я понятия не имею, какую форму или формат примет эта информация.Я декомпилировал приложение «Настройки» и посмотрел на Манифест, а также на файлы smali для Locale, но мое понимание Java очень ограничено.

Есть ли что-то еще, на что я должен обратить внимание?

О, и Tasker Misc> Диалог настроек> Настройки локали также просто вызывает текущий набор локали, а не интерактивный список.

1 Ответ

0 голосов
/ 31 марта 2019

В конце концов я нашел необходимые дополнения в файле res \ xml \ settings_development.xml декомпилированного файла Settings.apk:

<extra android:name="hideDevLanguages" android:value="false" />

Таким образом, рабочая командная строка в оболочке adb:

am start -n com.android.settings/.LocalePicker --ez hideDevLanguages false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...