Не удается получить полное содержание сообщения Skype в приложении Android - PullRequest
0 голосов
/ 10 января 2019

Я использую Skype для отправки сообщений в мое приложение для Android.

Сообщение, которое набирается в консоли Skype, «Привет, меня зовут j» и отправляет в виде текста в приложение для Android. Отладчик Android отображает содержимое сообщения следующим образом:

Skype ID:

Я даже не вижу часть "привет, меня зовут j" после "идентификатора скайпа:", когда я распечатываю сообщение, полученное в Android.

Как мне получить вторую часть сообщения? Мне кажется, что приведенный ниже код не вытягивает все объекты SMS или более позднюю часть сообщения SMS после идентификатора Skype.

Должен быть ответ на этот вопрос.

Код для обработки текстового сообщения:

public void onReceive(Context context, Intent intent) {
    Toast.makeText(context, "LISTENER CALLED!!!", Toast.LENGTH_LONG).show();

    if(intent.getAction().equals(SMS_RECEIVED)){
        String accountHolderPhone = "";
        //Toast.makeText(context, "SMS RECEIVED", Toast.LENGTH_LONG).show();
        Bundle bundle = intent.getExtras();

        if(bundle != null){
            //get SMS objects
            Object[] pdus = (Object[])bundle.get("pdus");
            if(pdus.length == 0){
                return;
            }
            //form messages into single string incase it is large and broken into many parts
            SmsMessage[] messages = new SmsMessage[pdus.length];
            System.out.println("Here is the length =" + pdus.length);
            StringBuilder sb = new StringBuilder();
            for(int i=0;i<pdus.length;i++){
                messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                sb.append(messages[i].getMessageBody());
            }
            accountHolderPhone = messages[0].getOriginatingAddress().replaceAll("\\+","");
             //sender = (EditText) findViewById(R.id.email);//messages[0].getOriginatingAddress();
            message = sb.toString();
        //    Toast.makeText(context, accountHolderPhone, Toast.LENGTH_LONG).show();
        }
        //Send SMS Back
        //final EditText phoneNumber = (EditText) findViewById(R.id.login);
        if (Build.VERSION.SDK_INT >= 23) {
            if (checkPermission(context)) {
                //Context context = IndexActivity.super.getApplicationContext();
        //        allFunctions.showToast(context,"Permission granted", 4000);
            } else {
                requestPermission(context);
            }
        }//delete this

        System.out.println(">>>>>>>Here is the message:"+message+"<<<<<<<");

    }
}

Пожалуйста, сообщите мне.

...