2

我正在我的应用程序中使用 SMS 接收器模块,在该模块中我通过我的应用程序接收短信,如果 sms 超过 160 个字符,那么我必须将该 SMS 与其下一部分连接并显示它。目前我正在使用一个简单的接收器代码。请建议我执行此任务。

4

1 回答 1

5

是的,尝试处理多部分消息:

@Override
        public void onReceive(Context context, Intent intent) {
                  Bundle bundle = intent.getExtras();
                  if (bundle != null) {
                   Object[] pdus = (Object[])bundle.get("pdus");
                   final SmsMessage[] messages = new SmsMessage[pdus.length];
                   for (int i = 0; i < pdus.length; i++) {
                      messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
                    }
                       StringBuffer content = new StringBuffer();
                        if (messages.length > 0) {
                        for (int i = 0; i < messages.length; i++) {
                            content.append(messages[i].getMessageBody());
                              }
                          }
                         String mySmsText = content.toString();
                        }
                    }

                }
于 2012-11-28T06:03:38.660 回答