android 4.4 动态注册+静态注册电话短信广播后收到两次onReceive回调的问题
2014-04-10 09:53
561 查看
在android4.4手机里,先静态注册一次广播,之后在代码里动态注册一次该广播,会同时收到两次onReceive回调,我在htc 802d手机上测试(使用官方升级版,升级到4.4)测试
//第一次来电时间回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = incoming_number, value = 18963792291
I/SmsTest_CallReceiver(31843): key = state, value = RINGING
//第二次来电时间回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = incoming_number, value = 18963792291
I/SmsTest_CallReceiver(31843): key = state, value = RINGING
//第一次挂断电话回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = state, value = IDLE
//第二次挂挂断电话回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = state, value = IDLE
当我注释掉代码里的动态注册后,只收到一次回调
//第一次来电时间回调
I/SmsTest_CallReceiver(32260): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(32260): key = phone_slot, value = 11
I/SmsTest_CallReceiver(32260): key = phone_type, value = 1
I/SmsTest_CallReceiver(32260): key = incoming_number, value = 18963792291
I/SmsTest_CallReceiver(32260): key = state, value = RINGING
//第一次挂断电话回调
I/SmsTest_CallReceiver(32260): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(32260): key = phone_slot, value = 11
I/SmsTest_CallReceiver(32260): key = phone_type, value = 1
I/SmsTest_CallReceiver(32260): key = state, value = IDLE
本人自己是不是对注册进去的接受器未去重导致
//第一次来电时间回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = incoming_number, value = 18963792291
I/SmsTest_CallReceiver(31843): key = state, value = RINGING
//第二次来电时间回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = incoming_number, value = 18963792291
I/SmsTest_CallReceiver(31843): key = state, value = RINGING
//第一次挂断电话回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = state, value = IDLE
//第二次挂挂断电话回调
I/SmsTest_CallReceiver(31843): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(31843): key = phone_slot, value = 11
I/SmsTest_CallReceiver(31843): key = phone_type, value = 1
I/SmsTest_CallReceiver(31843): key = state, value = IDLE
当我注释掉代码里的动态注册后,只收到一次回调
//第一次来电时间回调
I/SmsTest_CallReceiver(32260): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(32260): key = phone_slot, value = 11
I/SmsTest_CallReceiver(32260): key = phone_type, value = 1
I/SmsTest_CallReceiver(32260): key = incoming_number, value = 18963792291
I/SmsTest_CallReceiver(32260): key = state, value = RINGING
//第一次挂断电话回调
I/SmsTest_CallReceiver(32260): onReceive | action = android.intent.action.PHONE_STATE
I/SmsTest_CallReceiver(32260): key = phone_slot, value = 11
I/SmsTest_CallReceiver(32260): key = phone_type, value = 1
I/SmsTest_CallReceiver(32260): key = state, value = IDLE
本人自己是不是对注册进去的接受器未去重导致
相关文章推荐
- Android广播的静态与动态注册
- Android中广播的使用(动态、静态注册的区别,有序无序广播的使用)
- Android中的静态系统广播与动态系统广播及其相应的注册与接收
- Android静态注册广播和动态注册广播的区别
- Android静态注册和动态注册广播的区别
- #android# 广播静态注册 动态注册
- Android的广播Receiver动态注册和静态注册示例
- 关于Android的BroadcastReceiver的onReceive方法中回调结果给Activity的问题
- Android 第十九课 大喇叭--广播机制----动态注册监听网络变化与静态注册实现开机启动
- [置顶] 关于在AndroidManifest.xml注册的广播和activity使用回调的问题
- Android静态注册无法接受系统广播问题
- Android静态注册无法接受系统广播问题
- android中广播的使用(动态和静态注册)
- Android广播动态注册重复注册问题
- Android广播之注册广播(包括静态广播和动态广播的注册)源码分析
- Android的广播Receiver动态注册和静态注册
- android 注册静态广播接收器VS注册动态广播接收器
- Android静态/动态注册广播的区别
- android判断短信是否发送成功[动态注册广播]
- Android 接收系统发送的广播,动态注册和静态注册