簡體   English   中英

待定意圖:我可以指定一種在接收活動中運行的方法嗎?

[英]Pending Intent: Can I specify a method to run in the receiving activity?

發送待處理的意圖后,它會創建一個新的活動嗎? 如果我已經有一項活動正在運行該怎么辦? 有沒有一種方法可以指定已經運行的活動,並在發送意圖后在該活動中運行一個方法?

我想做的是在通知欄中有一個充當“停止”按鈕的按鈕,該按鈕將在已經運行的應用程序中調用stop方法。

它取決於清單中活動的聲明或您包括的Intent標志。

例如,如果您使用FLAG_ACTIVITY_SINGLE_TOP (或該活動的launchMode設置為"singleTop" ),則將在現有活動上調用onNewIntent()而不是創建一個新活動。

在您的示例中,您應該在意圖中傳遞一個額外的內容,以指示您要執行“停止”操作,然后在onNewIntent()進行檢查。

關於啟動模式的官方文檔對此進行了很好的解釋: http : //developer.android.com/guide/components/tasks-and-back-stack.html#TaskLaunchModes

編輯:但是,由於最終目標是在后台播放音頻,因此使用服務是更合適的選擇。 檢查http://developer.android.com/guide/topics/media/mediaplayer.html#mpandservices

要從通知中控制服務(即播放,暫停,停止),您需要提供使用startService()從中創建的PendingIntents

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM