在接收端,接收的數據一直爲null,在google官方網站查了下,發現問題出在flags上:PendingIntent.getActivity原型如下:
' 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傳送數據的方法正常接收。
親身經歷過才知道有多坑[捂臉]