Прием звонка не работает при звонке - PullRequest
0 голосов
/ 19 сентября 2019

Мой приемник смс работает хорошо, но мой телефон в состоянии вызова и получения смс, приемник не работает.Мой код

public class SmsReceiver extends BroadcastReceiver {
private Listener listener;
@Override
public void onReceive(Context context, Intent intent) {
    Log.i("TEST", "sms");
        String smsSender = "";
        String smsBody = "";
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            for (SmsMessage smsMessage : Telephony.Sms.Intents.getMessagesFromIntent(intent)) {
                smsSender = smsMessage.getDisplayOriginatingAddress();
                smsBody += smsMessage.getMessageBody();
            }
        }
        else {
            Bundle smsBundle = intent.getExtras();
            if (smsBundle != null) {
                Object[] pdus = (Object[]) smsBundle.get("pdus");
                if (pdus == null) {
                    // Display some error to the user
                    Log.i("TEST", "SmsBundle had no pdus key");
                    return;
                }
                SmsMessage[] messages = new SmsMessage[pdus.length];
                for (int i = 0; i < messages.length; i++) {
                    messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                    smsBody += messages[i].getMessageBody();
                }
                if (smsSender.length() < 2) {
                    smsSender = messages[0].getDisplayOriginatingAddress();
                }
            }
        }
        if (!smsSender.isEmpty() && !smsBody.isEmpty()) {
            if (listener != null) {
                listener.onTextReceived(smsSender, smsBody);
            }
        }
    } else {
        Log.i("TEST", "error");
    }
}
void setListener(Listener listener) {
    this.listener = listener;
}
interface Listener {
    void onTextReceived(String smsSender, String smsBody);
}

}

Как это исправить?Я пытаюсь на Android 9 и 5 В нормальном состоянии приемник хорошая работа Извините за мой английский

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...