我正在嘗試爲Android Auto添加MediaBrowserService
到現有的媒體播放器應用程序。該應用程序具有管理MediaSession
,Callbacks
和相關狀態的單個活動。它已被設置爲發出事件,背景MediaBrowserService
消耗並用於構建其內容樹。Android Auto - 後臺服務與活動之間的通信
這一切工作正常時,流程就像是:
Start my app -> Start Android Auto -> Browse media
然而,它屬於平在其正面當流量:
Start Android Auto -> Browse media
...作爲,當應用程序未啓動並在Android Auto啓動之前在後臺運行時。
的問題似乎是,雖然我MediaBrowserService
將使用Android Auto自動啓動,它不會當它這樣做創建我的應用程序的Activity
的相應實例(這意味着沒有事件通知MediaBrowserService
,因此沒有內容在Android Auto中可用)。
理想情況下,似乎MediaBrowserService
需要能夠檢查並查看應用程序的「主」Activity
是否正在運行,並在其中產生新實例。但不確定這是否可能,並且往往認爲這是採取這種做法的錯誤方法。
解決此問題的正確方法是什麼?我不想複製MediaBrowserService
實施中的所有應用程序的MediaSession
處理和回放相關代碼。儘可能保持輕量級。有沒有辦法確保Activity
在MediaBrowserService
處於活動狀態時始終運行?