Продолжаем готовиться к релизу WSA...
Наваял скрипт-лаунчер для запуска навигаторов и антирадаров.
Лаунчер поддерживает следующие программы:
- Навигаторы - Яндекс.Навигатор, Яндекс.Карты, Карты Google, MAPS.ME, Навител.
- Антирадары - Mapcam, Антирадар, Антирадар Free, HUD Speed, Стрелка.
Возможные комбинации запуска программ:
- только навигатор
- только антирадар
- только Mapcam в фоне
- навигатор + Mapcam в фоне
Т.к. все антирадары требуют нажатия кнопки старта или выбора режима после запуска, то используется эмуляция (через ADB) клика по нужному месту (кнопке) на экране. С этим пришлось долго повозиться, разбираясь, что, где и как там все это дело запускается. Исключение - Mapcam можно запустить сразу в фоне (т.е. без появления кнопок). Но есть нюанс - WSA должна быть предварительно запущена (т.е. надо в настройках поставить галку "Непрерывная" и проверить включение WSA в автозагрузке).
Запускаемые программы передаются в виде буквенных кодов через параметры командной строки, разделенные пробелами. Первый параметр - всегда порт (обычно 58526). Далее идут коды программ согласно списка ниже.
Для навигаторов нажимать какие-либо кнопки после запуска не нужно, поэтому указывается только код.
Для антирадаров дополнительно указываются координаты середины нужной кнопки - сначала X, потом Y. Начало координат - верхний левый угол окна Android, X - вправо, Y - вниз.
Простые способы узнать координаты:
- Запустить программу, сделать скриншот, вставить его в Paint, сдвинуть вверх так, чтобы скрылся заголовок окна WSA.
- В Android в разделе "Для разработчиков" включить пункты "Показывать нажатия" и "Место касания". Запустить программу и кликнуть в нужное место.
Дополнительно можно указать задержку в мс до нажатия кнопки, т.к. некоторые антирадары после запуска некоторое время еще что-то делают до появления кнопок.
Все параметры, относящиеся к запуску антирадара, разделяются пробелами и заключаются в двойные кавычки.
Примеры:
...\WSALauncher.exe 58526 yn mcb - запуск Яндекс.Навигатора и Mapcam (в фоне)
...\WSALauncher.exe 58526 mcb - запуск только Mapcam в фоне
...\WSALauncher.exe 58526 "mc 755 135" - запуск только Mapcam, клик по кнопке "HUD Режим"
...\WSALauncher.exe 58526 "hs 540 210 3000" - запуск только HUD Speed, через 3000 мс - клик по кнопке "Режим радара"
Запуск программ происходит в порядке, указанном в списке ниже, независимо от порядка кодов в параметрах командной строки. Т.е. если в параметрах перечислить все коды навигаторов, то запустится только первый - Яндекс.Навигатор. Аналогично и с антирадарами.
Коды программ:
- yn - Яндекс.Навигатор
- ym - Яндекс.Карты
- gm - Карты Google
- mm - MAPS.ME
- n - Навител
- mcb - Mapcam (Фоновый режим, без появления кнопок)
- mc - Mapcam (Режим Радар, Фоновый режим, HUD режим)
- ar - Антирадар
- arf - Антирадар Free
- hs - HUD Speed (Спидометр, Режим радара, Проекция на стекло)
- s - Стрелка
Обновление 10.12.2021:
ЯН запускается в вертикальной ориентации. Добавил в лаунчер изменение размера окна WSA на 1 пиксель через секунду после запуска ЯН, чтобы ЯН повернулся в горизонтальную ориентацию.
PS: Встроить в iCarDS запуск только Mapcam в фоне без правки ExecTBL.ini нельзя, т.к. iCarDS нужно окно встроенной программы, которое в данном случае не существует.