android - 如何将两条短信与 smslistener 合并
android - How to combine two sms with smslistener
我有一个短信监听器,可以读取来自特定号码的短信。它读取短信没有任何问题,但这里有一个错误,如果消息体非常大并且进入 2 条消息,侦听器只检测到第一个并且不能不理解它应该阅读两条消息。
这是我的代码:
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Bundle bundle = intent.getExtras();
settings = context.getSharedPreferences("settings", context.MODE_PRIVATE);
SmsMessage[] msgs = null;
String msg_from;
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
if (msgs != null) {
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
msg_from = msgs[i].getOriginatingAddress();
}}}
我该如何解决这个问题
试试这个
Bundle bundle = intent.getExtras();
messages = (Object[]) bundle.get("pdus");
smsMessage = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++) {
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
for (int i = 0; i < smsMessage.length; i++)
mainsms += smsMessage[i].getMessageBody();
你的完整短信内容是mainsms
我有一个短信监听器,可以读取来自特定号码的短信。它读取短信没有任何问题,但这里有一个错误,如果消息体非常大并且进入 2 条消息,侦听器只检测到第一个并且不能不理解它应该阅读两条消息。
这是我的代码:
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Bundle bundle = intent.getExtras();
settings = context.getSharedPreferences("settings", context.MODE_PRIVATE);
SmsMessage[] msgs = null;
String msg_from;
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
if (msgs != null) {
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
msg_from = msgs[i].getOriginatingAddress();
}}}
我该如何解决这个问题
试试这个
Bundle bundle = intent.getExtras();
messages = (Object[]) bundle.get("pdus");
smsMessage = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++) {
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
for (int i = 0; i < smsMessage.length; i++)
mainsms += smsMessage[i].getMessageBody();
你的完整短信内容是mainsms