我做了一個音樂播放器,以兩種方式操作:
我做了一個音樂播放器。
- 如果作為一個正常的應用程式啟動,它將繼續播放上次關閉時的內容,并且應該在后臺啟動。
- 如果作為一個普通的應用程式啟動,它將繼續播放上次關閉時正在播放的內容,并且它應該在后臺啟動;
- 如果在fileManager中選擇了一個音頻檔案,它將在前臺播放點擊的歌曲。
- 如果在fileManager中選擇了一個音頻檔案,它將在前臺播放點擊的歌曲。
因為我只想讓應用程式的一個實體運行,所以我在mainfest中添加了:
android:launchMode="singleTask"/span>
我所做的就是執行這個onCreate:
uri = getIntent.getData();
if (uri != null) {
newsong = uri.toString()...
play(newsong)。
} else {
moveTaskToBack(true)。
playoldsong()。
它作業得很好,除了這樣一個事實:當像(1)那樣啟動時,過了一會兒,我在檔案管理器中選擇了一首歌曲,主活動被帶到前面(這是我想要的),但它繼續播放它在選擇歌曲之前播放的內容。該播放器忽略了新的歌曲,而我希望它能切換到新的歌曲。
這實際上是有意義的,因為我呼叫新歌的唯一地方是在onCreate。
也許launchMode不是正確的?也許我應該@OverwriteOnNewTask(Intent)方法?哪一個是 "更便宜 "的解決方案?
uj5u.com熱心網友回復:
你必須覆寫onNewIntent()來啟動用戶在檔案管理器中點擊的歌曲。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/306690.html
標籤:
