通过继承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查询,内容不完整了,有谁碰到过这种情况吗?还请赐教,谢谢!
/* 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查询,内容不完整了,有谁碰到过这种情况吗?还请赐教,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货