问题代码: Intent in = new Intent(JPushInterface.ACTION_NOTIFICATION_OPENED); in.putExtras(bundle);//这里的bundle是有地址的 PendingIntent pi = PendingIntent.getBroadcast(context, 0, in, 0);
广播发出去之后,在收到广播获取到的bundle为null
PendingIntent 的Flag 很重要啊 问题就是在flag设置上,设置为FLAG_UPDATE_CURRENT 立刻见效
PendingIntent pi = PendingIntent.getBroadcast(context, 0, in, PendingIntent.FLAG_UPDATE_CURRENT);
常量 | |
---|---|
int | FLAG_CANCEL_CURRENT 如果所描述的PendingIntent已存在,则应在生成新的PendingIntent之前取消当前的PendingIntent。 |
int | FLAG_IMMUTABLE 创建的PendingIntent应该是不可变。 |
int | FLAG_NO_CREATE 如果描述的PendingIntent尚不存在,则只返回null而不是创建它。 |
int | FLAG_ONE_SHOT 表示此PendingIntent只能使用一次。 |
int | FLAG_UPDATE_CURRENT 如果所描述的PendingIntent已存在,则保留它,但将其额外数据替换为此新Intent中的内容。 |