我使用广播接收器读取了传入的短信数据。但在这种情况下,我输入的短信数据会更大(超过150个字符).Sms收到两个独立的部分,此时广播接收器读取短信数据。但是我无法在同一个变量中获得完整的内容。 请给我解决方案。提前谢谢。
这是我传入的短信
TrackLocationResponse @ 80.233555,13.050061666666666!80.233555,13.050061666666666!80.233555,13.050061666666666!80.233555,13.050061666666666!80.23430333333334,13.052583333333333!80.23430333333334,13.052583333333333!80.23430333333334,13.052583333333333!
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle b = intent.getExtras();
if (b == null) {
return;
}
Object[] pdus = (Object[]) b.get("pdus");
if (pdus != null) {
for (int i = 0; i < pdus.length; i++) {
SmsMessage SMessage = SmsMessage
.createFromPdu((byte[]) pdus[i]);
body = SMessage.getDisplayMessageBody();
number = SMessage.getDisplayOriginatingAddress();
Log.d("Sms Recived", body + " : " + number);//this line working properly
}
if ((body.startsWith("TrackLocationResponse"))) {
String recvedContent[]=body.split("@");
Log.d("getSmsLocationTracking", recvedContent[1]);
//this not working only when sms content is large
}
}