Хорошо, поэтому я пытаюсь войти в поднастройку «Язык и ввод» в меню «Настройки», и когда я нажимаю на нее, появляется сообщение: «К сожалению, настройки перестали работать». Это происходит только с «Языком и вводом».
У меня установлен Android 4.2.2 на телефоне Acer V370 (Liquid E2).
До сих пор я пытался очистить данные из приложения «Настройки» и исправить разрешения с помощью диспетчера ПЗУ, оба не работали.
Что я действительно пытаюсь сделать, так это получить работающую клавиатуру на своем телефоне, так как по неизвестным причинам у меня нет клавиатуры для ввода текста на телефоне. Так что меня не волнует исправление настройки «Языки и ввод», пока есть способ снова установить клавиатурное приложение на мой телефон.
Примечание . Команды в этом решении требуют настройки adb на ПК, и решение протестировано на Android 4.2.1, 5.0.2 и 5.1.1.
Если в вашей системе не установлено приложение для клавиатуры, то либо используйте веб-версию Play Store, чтобы удаленно установить приложение для клавиатуры в вашей системе (требуется активное подключение к Интернету на вашем устройстве), либо каким-то образом получите APK вашей клавиатуры . и установите его в своей системе. Вы можете либо установить его:
используя adb
. Делать:
adb install FILE_PATH # replace FILE_PATH with the file location of APK in your PC
После установки приложения выполните эту команду на ПК:
adb shell ime list -a
В нем будут перечислены все доступные (включенные или нет) службы IME (метод ввода) в вашей системе.
Демонстрационный вывод:
com.android.inputmethod.latin/.LatinIME: mId= com.android.inputmethod.latin/.LatinIME mSettingsActivityName=com.android.inputmethod.latin.settings.SettingsActivity mIsDefaultResId = 0x7f070000 Услуга: приоритет = 0, предпочтительный порядок = 0, совпадение = 0x108000, специфический индекс = -1, isDefault = false Информация о сервисе: имя = com.android.inputmethod.latin.LatinIME packageName=com.android.inputmethod.latin labelRes=0x7f08003a nonLocalizedLabel=нулевой значок=0x0 баннер=0x0 enabled=true exported=true имя_процесса=com.android.inputmethod.latin разрешение = android.permission.BIND_INPUT_METHOD флаги = 0x0 net.zhdev.ctrlvkeyboard/.CtrlVKeyboard: mId= net.zhdev.ctrlvkeyboard/.CtrlVKeyboard mSettingsActivityName=null mIsDefaultResId = 0x0 Услуга: приоритет = 0, предпочтительный порядок = 0, совпадение = 0x108000, специфический индекс = -1, isDefault = false Информация о сервисе: имя=net.zhdev.ctrlvkeyboard.CtrlVKeyboard packageName=net.zhdev.ctrlvkeyboard labelRes=0x7f0b0015 nonLocalizedLabel=нулевой значок=0x0 баннер=0x0 enabled=true exported=true имя_процесса=net.zhdev.ctrlvkeyboard разрешение = android.permission.BIND_INPUT_METHOD флаги = 0x0 com.touchtype.swiftkey/com.touchtype.KeyboardService: mId= com.touchtype.swiftkey/com.touchtype.KeyboardService mSettingsActivityName=com.touchtype.settings.TouchTypeKeyboardSettings mIsDefaultResId = 0x0 Услуга: приоритет = 0, предпочтительный порядок = 0, совпадение = 0x108000, специфический индекс = -1, isDefault = false Информация о сервисе: имя = com.touchtype.KeyboardService packageName=com.touchtype.swiftkey enabled=true exported=true имя_процесса=com.touchtype.swiftkey разрешение = android.permission.BIND_INPUT_METHOD флаги = 0x0
Выделенные рядом строки mId=
— это идентификаторы клавиатурных приложений, доступных в моей системе.
В любом идентификаторе строка перед /
является именем пакета приложения клавиатуры. Пример: для клавиатуры Swiftkey mId:
com.touchtype.swiftkey/com.touchtype.KeyboardService
Строка com.touchtype.swiftkey
представляет собой имя пакета приложения Swiftkey. Имя пакета поможет вам найти соответствующий mID , который следует использовать для включения определенного приложения клавиатуры .
Чтобы узнать имя пакета приложения, выполните команду Просмотр полного имени пакета приложения?
Получив соответствующий идентификатор, используйте его, чтобы сделать приложение клавиатурой по умолчанию в вашей системе. Делать:
# Note that it doesn't matter whether the IME is added into enabled input methods or not. Consider this a direct override.
# Replace ID with mId of your keyboard app
adb shell settings put secure default_input_method "ID"
adb shell content update --uri content://settings/secure --bind value:s:"ID" --where "name='default_input_method'" # alternative to above command
adb reboot # optional
Попробуйте открыть приложение, требующее ввода с клавиатуры. Вы увидите свое приложение для клавиатуры.
(Нажмите на изображение, чтобы увеличить; любезно предоставлено OP)
Можно предложить установить ЛЮБУЮ альтернативную клавиатуру и временно выбрать ее в качестве клавиатуры по умолчанию. Самый ранний метод, который я изучил для этого, заключался в запуске любого приложения, которое требовало ввода в поле ввода текста (подойдет даже Интернет). Сильно нажмите на текстовое поле и выберите «Метод ввода», который позволит вам попробовать установить только что загруженную клавиатуру в качестве клавиатуры по умолчанию.
После выбора возможно, что «Настройки»> «Язык и ввод», который ранее не работал, не перестанет открываться при срабатывании. Воспользуйтесь обычным функционалом, чтобы восстановить нужную клавиатуру, если отличается, то удалите установленную, что было временным обходным решением.
ОБНОВЛЕНИЕ: я только что нашел эту вики , которая демонстрирует подобную технику. Я только что выполнил это на своем телефоне и планшете Samsung Galaxy, чтобы доказать его ценность. По сути, он использует текстовый ввод Google Search в сочетании с панелью уведомлений, которая теперь включает ярлык для выбора метода ввода. У меня получилось стабильно работать со второй попытки: открыть, коснуться поля ввода текста, потянуть вниз панель уведомлений, продолжить.
Корсо
Корсо
wbogacz
wbogacz