灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:9026回复:0

android预置频道有时失败情况如何处理?

楼主#
更多 发布于:2013-05-12 13:02
a.添加一个全局变量
private int retryNum = 5;
 
b.
SmsReadyBroadcastReceiver的 onReceive方法里,多加一条trace,将simId打印出来,如下:
int extra =
intent.getIntExtra("simId",0);
Log.e("kpp","extra="+extra);
 
c.handleSetStateResponse方法
如果发生exception则重试,在if
(ar.exception != null)语句里添加实现体,如下:
 if (ar.exception != null)
{
            if(retryNum >
0){
                                    
             Message
msg;
             retryNum --;
            
Log.e("kpp","retryNum="+retryNum);
            
Log.e("kpp","simId="+simId);
              msg =
mHandler.obtainMessage(MESSAGE_SET_STATE, simId,
MESSAGE_SET_STATE,null);                                                                                              
  
if (FeatureOption.MTK_GEMINI_SUPPORT == true)
   {
            
((Geminiphone)phone).activateCellBroadcastSmsGemini(0,msg, simId);
   }
  
else
   {
            phone.activateCellBroadcastSms(0,msg);
   }
  
return;
   }
                            
else{
   if(DBG)
  
Log.d(LOG_TAG, "handleSetStateResponse: ar.exception="+ ar.exception);
  
}
 }
…….

喜欢0 评分0
游客

返回顶部