2

私は自分のアプリでSMSレシーバーモジュールに取り組んでおり、アプリで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 に答える