Устройство, о котором мы говорим, - это головное устройство Android 8 с подключенной внешней клавиатурой USB.Что ж, мне нужно назначить некоторые функции для функциональных клавиш этой клавиатуры, например, запуск определенных приложений.Скажем, F4
может запустить медиаплеер, F5
приложение для навигации и так далее.Для этой цели подойдет плагин Automate или AutoInput Tasker, но все приложения такого типа используют службу специальных возможностей для взаимодействия с физическими устройствами HID.
Большая проблема здесь в том, что это конкретное устройство Android регулярно убивает службы специальных возможностей при (горячей) перезагрузке.Перепробовал абсолютно все, от отключения режима энергосбережения до пометки Automate и т. Д. Как приложение администратора устройства, ничего не помогло.Поэтому я подал в отставку, и теперь я подумываю об альтернативном способе повторного включения соответствующей службы специальных возможностей после того, как система отключила ее после перезагрузки по неизвестной причине.
Если устройство было рутировано, я предполагаю, что оно будетпростой способ перезапустить службу специальных возможностей с помощью команды оболочки или чего-либо еще (только догадка, я довольно новичок в Android).Но, очевидно, я хочу избежать рутирования, если это возможно.Идеальным сценарием было бы (авто) запускать команду оболочки / приложение / службу переднего плана / что угодно при каждой перезагрузке - при этом было бы достаточно административных привилегий для повторного включения службы специальных возможностей, которую система только что отключила во время перезагрузки.Конечно, все это мелочи без рута устройства.Но я не совсем уверен, что это можно сделать на Android (на Windows было бы достаточно службы, работающей в системной учетной записи, но Android - это отдельная история).
Справедливым решением может быть
- root устройство,
- установка команды оболочки (приложение, служба переднего плана и т. Д.), Предназначенной для перезапуска службы специальных возможностей после каждой перезагрузки, и
- отключение устройства (с помощью SuperSU (пример), чтобы защитить пользователя и не аннулировать гарантию.
Кто-нибудь скажет мне, может ли вышеуказанное решение дать желаемый результат, и - если так -Могу ли я дать некоторые рекомендации, как это сделать?