PendingIntent用法注意

2021-07-06 08:47:49 字數 853 閱讀 3073

pendingintent.flag_cancel_current

pendingintent可以由三種動作得到相應的例項:getactivity(context, int, intent, int), getactivities(context, int, intent, int), getbroadcast(context, int, intent, int), and getservice(context, int, intent, int);分別對應的是開啟activity、開啟多個activity、開啟broadcastrecevicer元件,開啟service元件。在四個引數中,第一和第三個是比較重要的,第二和第四次之。

pendingintent與intent的區別主要在於intent是立即執行的,pendingintent則會進行延時執行。有幾點要注意的是:

a. intent是立即使用的,而pendingintent可以等到事件發生後觸發,pendingintent可以cancel

b. intent在程式結束後即終止,而pendingintent在程式結束後依然有效

c. pendingintent自帶context,而intent需要在某個context內執行

d. intent在原task中執行,pendingintent在新的task中執行

在pendingintent中的第四個引數中,通過使用pendingintent.

flag_update_current

引數的話,可以讓新的intent會更新之前pendingintent中的intent物件資料,例如更新intent中的extras。另外,我們也可以在pendingintent的原程序中呼叫pendingintent的cancel ()把其從系統中移除掉。

Intent和PendingIntent的區別

intent英文意思是意圖,pending表示即將發生或來臨的事情。pendingintent這個類用於處理即將發生的事情。比如在通知notification中用於跳轉頁面,但不是馬上跳轉。intent 是及時啟動,intent 隨所在的activity 消失而消失。intent一般是用作activ...

Intent和PendingIntent的區別

intent英文意思是意圖,pending表示即將發生或來臨的事情。pendingintent這個類用於處理即將發生的事情。比如在通知notification中用於跳轉頁面,但不是馬上跳轉。intent 是及時啟動,intent 隨所在的activity 消失而消失。intent一般是用作activ...

PendingIntent的通知傳送

關於pendingintent傳值的問題,自己又發現了一些新的實現方法 現在我有這麼個需求 伺服器不停的向客戶端push訊息,客戶端在開機時或客戶端啟動時會開啟乙個service來接收伺服器push下來的訊息,客戶端接收訊息後向使用者傳送通知提示使用者有新的訊息,並且訊息中帶有引數。使用者通過點選通...