android 多次调用PendingIntent.getBroadcast intent数据不更新问题
2013-05-09 23:20
507 查看
转自:http://www.reasono.com/?p=318
实验环境:
windows 7
Android Developer Tools
Build: v21.1.0-569685
今日在开发一个小app的时候遇到一个问题:
该app需要实现本机发送短信,遂,通过
SmsManager + PendingIntent.getBroadcast 的方式实现,因为短信队列里包含多个号码,且发送完毕后需要更新发送状态,所以需要在BroadcastReceiver回调中得到发送短信的ID,大体实现如下(大家也可以参考下具体发送短信的机制):
1、接收短信发送后的回调函数:
2、开始发送短信:
开始的时候多次发送短信成功,但是intent中的数据总是第一次传入的数据,其后就不能更新,通过google多次,尽一天的时间得到的结论是:
需要在PendingIntent.getBroadcast函数中设置第4个参数为 PendingIntent.FLAG_UPDATE_CURRENT
即:PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
但是我这里还是不能成功,百思不得其解啊。
于是就修改了第二个参数requestCode,即
测试通过,哈哈~~。
有的同学还提出修改了requestCode也没起作用,我建议同时修改
PendingIntent intent= PendingIntent.getBroadcast(Context context, int requestCode, Intent intent, int flags)的requestCode 和flags试试,好运~~
实验环境:
windows 7
Android Developer Tools
Build: v21.1.0-569685
今日在开发一个小app的时候遇到一个问题:
该app需要实现本机发送短信,遂,通过
SmsManager + PendingIntent.getBroadcast 的方式实现,因为短信队列里包含多个号码,且发送完毕后需要更新发送状态,所以需要在BroadcastReceiver回调中得到发送短信的ID,大体实现如下(大家也可以参考下具体发送短信的机制):
1、接收短信发送后的回调函数:
需要在PendingIntent.getBroadcast函数中设置第4个参数为 PendingIntent.FLAG_UPDATE_CURRENT
即:PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
但是我这里还是不能成功,百思不得其解啊。
于是就修改了第二个参数requestCode,即
有的同学还提出修改了requestCode也没起作用,我建议同时修改
PendingIntent intent= PendingIntent.getBroadcast(Context context, int requestCode, Intent intent, int flags)的requestCode 和flags试试,好运~~
相关文章推荐
- android 多次调用PendingIntent.getBroadcast intent数据不更新问题
- android中多次调用PendingIntent.getBroadcast(),intent数据不更新问题
- Android PendingIntent.getBroadcast intent数据不更新问题
- 手机高温警告提示内容不匹配的分析【多次调用PendingIntent.getBroadcast,intent数据不更新】
- 【Android解决方案】在onResume里调用getIntent()得到的是上一次数据
- Android 通知PendingIntent意图打开Activity,数据无更新? 解决方法
- Android 通知PendingIntent意图发送广播,但Intent数据无更新? 解决方法
- android PendingIntent.getBroadcast 之坑
- Android 7.0 BroadcastReceiver接收pendingIntent 传递过来序列化数据
- notification PendingIntent跳转数据不更新问题
- 关于android pendingIntent 传递Parcelable对象时数据丢失问题
- 关于Android 6.0及以上版本用PendingIntent传送数据丢失问题
- android中Service里面PendingIntent的数据传输问题
- 转载 Android解决通过Intent调用系统拍照程序,返回图片太小的问题
- Android AppWidget 开发中PendingIntent传送数据丢失解决办法
- 关于get请求数据不更新的问题
- Android中全局Application的onCreate多次调用问题
- 关于打开Android应用多次点击重复加载数据的问题。
- 关于android中PendingIntent.getBroadcase的注册广播VSAlarmManager .cancle(PendingIntent)如何区分PendingIntent
- getRunningTasks API从Android 5.0开始非系统App调用会出问题