解決PendingIntent傳遞引數為空的問題

2021-08-26 19:58:49 字數 976 閱讀 2645

今天碰到乙個使用pendingintent 給activity傳遞引數問題,總結下:

intent intent = new intent(action_message_detail); intent.putextra(messageinfordetail.key_message_sender, messageinfo.getsender()); intent.putextra(messageinfordetail.key_message_address, messageinfo.getaddress()); intent.putextra(messageinfordetail.key_message_body, messageinfo.getbody()); intent.putextra(messageinfordetail.key_message_date, messageinfo.getcurrentformatedate()); pendingintent pintent = pendingintent.getactivity(context, 0, intent, 0);

pendingintent.getactivity(context, requestcode, intent, flags)

flags有四個取值:

int flag_cancel_current:如果該pendingintent已經存在,則在生成新的之前取消當前的。

int flag_no_create:如果該pendingintent不存在,直接返回null而不是建立乙個pendingintent.

int flag_one_shot:該pendingintent只能用一次,在send()方法執行後,自動取消。

int flag_update_current:如果該pendingintent已經存在,則用新傳入的intent更新當前的資料。

我們需要把最後乙個引數改為pendingintent.flag_update_current,這樣在啟動的activity裡就可以用接收intent傳送資料的方法正常接收。

解決PendingIntent傳遞引數為空的問題

今天碰到乙個使用pendingintent 給activity傳遞引數問題,總結下 intent intent new intent action message detail intent.putextra messageinfordetail.key message sender,message...

Intent和PendingIntent的區別

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

PendingIntent用法注意

pendingintent.flag cancel current pendingintent可以由三種動作得到相應的例項 getactivity context,int,intent,int getactivities context,int,intent,int getbroadcast con...