android 关于在PenddingIntent 中传输Parcelable对象的问题

现在要做一个需求,需要在PenddingIntent中传输一个Parcelable的对象,代码如下:Intentintent=newIntent("com.android... 现在要做一个需求,需要在PenddingIntent 中传输一个Parcelable的对象,代码如下:
Intent intent = new Intent("com.android.translate");
intent.putExtra("message", message); // 此处message是实现了Parcelable接口
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

然后为何在对应的BroadcastReceiver里面,intent.getParcelable("message") 的返回值是null 呢?百思不得其解
展开
 我来答
蓝天的飞翔梦
2017-03-27 · TA获得超过254个赞
知道答主
回答量:66
采纳率:100%
帮助的人:56.8万
展开全部
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传送数据的方法正常接收。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式