Недавно я обновил зависимости до targetSdkVersion 34. С тех пор службу записи больше нельзя запускать из быстрой плитки приложения.
Вот как я запускаю службу записи переднего плана из быстрой плитки:
- приложение регистрирует TileService
- TileService прослушивает нажатия на Quick Tile в onClick()< /li>
Служба переднего плана записи запускается из TileService через application.startForegroundService(intent)
В targetSdkVersion 34 нажатие на панель быстрого доступа приводит к сбою. В журнале показано:
Код: Выделить всё
android.app.ForegroundServiceStartNotAllowedException: startForegroundService() not allowed due to mAllowStartForeground false: service org.y20k.trackbook/.TrackerService
Я рассмотрел следующие решения:
- < li>Запустите действие из TileService, которое, в свою очередь, запускает службу переднего плана. Этот подход кажется неуклюжим.
- Реализуйте функцию записи в TileService и попытайтесь повысить ее до службы переднего плана и отобразить уведомление из TileService
Подробнее здесь: https://stackoverflow.com/questions/773 ... ion-34-and