Как использовать adb для выполнения некоторых автоматизированных задач на моем телефоне Android? Мне нужно найти команды, которые я могу выполнить из командной строки (в идеале, используя файл .bat), который будет способен не просто открыть приложение, либо отправить входной ключ (нажатие кнопки).
Например, я хочу включить или выключить режим полета в командной строке. В настоящее время самое лучшее, что я могу сделать, это запустить меню "Беспроводные и сетевые настройки", а затем использовать входные ключевые события, чтобы щелкнуть "Режим полета":
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
adb shell input keyevent 19 & adb shell input keyevent 23
Существует немало недостатков этого метода, прежде всего, что экран должен быть включен и разблокирован. Кроме того, задачи, которые я хочу сделать, намного шире, чем этот простой пример. Другие вещи, которые я хотел бы сделать, если это возможно:
1. Положите mp3 и установите его на повтор. Текущее решение:
adb shell am start -n com.android.music/.MusicBrowserActivity
adb shell input keyevent 84
adb shell input keyevent 56 & adb shell input keyevent 66 & adb shell input keyevent 67 & adb shell input keyevent 19
adb shell input keyevent 23 & adb shell input keyevent 21
adb shell input keyevent 19 & adb shell input keyevent 19 & adb shell input keyevent 19 & adb shell input keyevent 22 & adb shell input keyevent 22 & adb shell input keyevent 23 & adb shell input keyevent 23
2.Вставьте видео. (текущее решение: откройте MediaGallery, отправьте ключевые события, похожие на выше)
3.Измените громкость (текущее решение: отправьте клавиши разговора по громкости)
4.Измените тайм-аут отображения (текущее решение: откройте настройки звука и дисплея, отправьте ключевые события)
Как и прежде, все это требует, чтобы экран был включен и разблокирован. Другим серьезным недостатком использования ключевых событий является изменение пользовательского интерфейса приложения, ключевые события больше не будут выполнять правильную функцию. Если нет более простого способа сделать такие вещи, существует ли хотя бы один способ включить экран (используя adb), когда он выключен? Или для того, чтобы клавиши были все еще работать, когда экран выключен?
Я не очень хорошо знаком с java. Тем не менее, я видел код, похожий на следующий (источник: http://yenliangl.blogspot.com/2009/12/toggle-airplane-mode.html), чтобы изменить настройку на телефоне:
Settings.System.putInt(Settings.System.AIRPLANE_MODE_ON, 1 /* 1 or 0 */);
Как перевести что-то вроде выше в команду adb shell? Возможно ли это, или неправильный способ думать об этом?
Я могу предоставить более подробную информацию, если это необходимо. Спасибо!