当前位置: 代码迷 >> Android >> 通过广播通知获得最新一条短信内容,内容不全,该怎么处理
  详细解决方案

通过广播通知获得最新一条短信内容,内容不全,该怎么处理

热度:24   发布时间:2016-05-01 21:16:49.0
通过广播通知获得最新一条短信内容,内容不全
通过继承BroadcastReceiver,重写onReceive方法,核心代码如下
/* get all unread messages begin */ 
Bundle bundle = intent.getExtras(); 
Object[] messages = (Object[]) bundle.get("pdus"); 
SmsMessage[] smsMessages = new SmsMessage[messages.length]; 
for (int i = 0; i < smsMessages.length; i++) 

  smsMessages[i] = SmsMessage.createFromPdu((byte[]) messages[i]); 

/* get all unread messages end */ 
/* get the first sms and copy to provider member */ 
GeneralInboxWidgetProvider.setMessageInfo(smsMessages[0].getOriginatingAddress(), smsMessages[0].getMessageBody()); 
Log.d(TAG,"smsMessages[0].getMessageBody()"+smsMessages[0].getMessageBody()); 
这是log打印出来的也就是smsMessages[0].getMessageBody()有时会不全,当短信内容长的时候,比如发送11到10086查询,内容不完整了,有谁碰到过这种情况吗?还请赐教,谢谢!

------解决方案--------------------
10086返回来的是多条短信,而你只显示smsMessages[0]的短信,也就是只显示第1条,要用循环显示。
  相关解决方案