[英]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.