Android - receiving long SMS (multipart)

后端 未结 5 1931
南旧
南旧 2020-11-30 03:04

I have an application, which has to listen for specific SMS. So far easy.

But when I receive the message, it\'s multipart. Is there a proper way to receive the SMS

5条回答
  •  青春惊慌失措
    2020-11-30 03:51

    Bundle bundle  = intent.getExtras();
    Object[] pdus = (Object[]) bundle.get("pdus");
                messages = new SmsMessage[pdus.length];
                for (int i = 0; i < pdus.length; i++)
                {
                    messages[i] =
                        SmsMessage.createFromPdu((byte[]) pdus[i]);
                }
    
    SmsMessage sms = messages[0];
    try {
      if (messages.length == 1 || sms.isReplace()) {
        body = sms.getDisplayMessageBody();
      } else {
        StringBuilder bodyText = new StringBuilder();
        for (int i = 0; i < messages.length; i++) {
          bodyText.append(messages[i].getMessageBody());
        }
        body = bodyText.toString();
      }
    } catch (Exception e) {
    
    }
    

提交回复
热议问题