Android Чтение SMS-сообщений большого размера (более 160 символов)

Сейчас я работаю с READ_SMS в android. Пока я пытаюсь прочитать данные SMS в своем приложении через широковещательный приемник, ограничения широковещательного приемника для небольших сообщений имеют размер менее 150–160 символов. Например, если SMS-сообщение имеет 2 страницы, широковещательный приемник и PDU принимают только вторую страницу. Означает, что если я получаю сообщение, содержащее более 160 букв, оно будет читать только последние буквы, а первые буквы исчезнут. Как я могу решить проблему?

код моего широковещательного приемника:

public void onReceive(контекст контекста, намерение намерения) {

          Log.i(TAG,"Intent Received: "+intent.getAction());
    if(intent.getAction()==SMS_RECEIVED){

        Bundle dataBundle = intent.getExtras();
        if (dataBundle!= null){
           try {
               Object[] pdus = (Object[]) dataBundle.get("pdus");
                System.out.println(getSMS());
               final SmsMessage[] message = new SmsMessage[pdus.length];
                   for (int i = 0; i < pdus.length; i++) {
                       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                           String format = dataBundle.getString("format");
                         
                           message[i] = SmsMessage.createFromPdu((byte[]) pdus[i], format);
                       } else {
                           message[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                       }

                       msg = message[i].getMessageBody();
                       phoneNo = message[i].getOriginatingAddress();
                   }
               }catch(Exception e){
                   Log.d("Exception caught", e.getMessage());
               }
           }

0 ответов

Другие вопросы по тегам