После обновления прошивки на моем смарте до Oreo, ожидаемо столкнулся с тем, что перестали работать интенты на запуск и остановку фонового сервиса через send intent в таскере.
Да, поиском воспользовался, но приемлемого решения для себя не нашел.
Объясню, почему другие опции автоматизации, уже заложенные в приложение не спасают:
Автоматизация как оно было:Таскер: триггер из комбинации подключение зарядки (у меня активные кредлы в машинах с питанием) + подключение с ГУ автомобиля по синезубу - любым из двух (у меня две машины).
В самом сценарии мапкам в режиме фонового сервиса запускался и останаливался через send intent
Почему сломанный запуск через интент так критичен:1. Запуск по блютуф. Мне далеко не всегда нужен мапкам, часто я ни навигацией, ни смартом при поездках не пользуюсь, особенно по знакомым местам. НО блютуф на смарте включен почти всегда (использую гарнитуру).
Также я попеременно использую две разные машины с разными ГУ. А настроить триггер в мапкаме можно или на все устройства, или на одно конкретное, выбрать несколько - нельзя.
Таким образом вариант с BT отпадает.
2. Запуск по зарядке. Как бы мне НЕ хочется, чтобы мапкам запускался каждый раз, когда я заряжаю телефон.... Даже в машине я часто ставлю смарт в кредл только для подзарядки.
3. Запуск по GPSАналогично п.2. Далеко не всегда нужен мапкам при активном режиме навигации или включенном GPS
4. Запуск через ярлык "фоновый режим".
У меня (MIUI 9, Xiaomi MI6), как и у многих других, ярлык создать получается, а вот сделать так, чтобы этот ярлык запускал фоновый сервис - нет. У меня запускается просто Мапкам. Пробовал в расширенных настройках опцию запуска в фоне - ни на что не влияет.
Да, я видел комментарии и понимаю, что все проблемы вызваны изменениями политик со стороны гугла в восьмерке. НО, хоть я и не разраб, не понимаю, в чем такая сложность прикрутить опцию запуска/остановки сервиса другими методами?
- У меня есть 3 других программы, которые также запускаются и/или останавливаются интентами - все они продолжают замечательно работать и на восьмерке. Пример - 'Camsam Plus'; 'Waze'; 'Car Dashdroid'
- Есть программы, которые "из коробки" поддерживают "ярлыки" (shortcuts) запуска и остановки сервиса . Пример: 'Real-Time GPS Tracker 2' Таскер умеет их запускать через Secure Settings или IntentTask плагины
- Есть программы, которые в настройках поддерживают выбор режима запуска - в форграунде или в виде фонового сервиса.
Учитывая вышесказанное, я не до конца понимаю, с чем связаны такие сложности в адаптации мапкамдроида в части автоматизации запуска фонового сервиса через внешние таскеры?
Для остановки я решение нашел - банально Kill app c рутом прибивает из таксера мапкам и его сервисы (пусть не элегантно, но зато с гарантией)
А вот для запуска - так и не нашел. Run app может запустить сам мапкам, но не может активировать фоновый сервисб интент не работает, а другого способа запустить принудительно фоновый сервис я не нашел (кроме встроенной автоматизации, которая, к сожалению, не идеальна)
Надеюсь, что ув. разработчики услышат просьбу о помощи и смогут решить проблему.
Самый простой вариант - как видится мне, просто опция в настройках программы о запуске в фоне.
Спасибо!