Получить номер получателя из SMS в Android

Это может звучать странно, но я хочу узнать, на какой номер я получил СМС, на моем телефоне. Я могу получить номер мобильного телефона для SIM-карты внутри с telephonyManager.getLine1Number() (хотя не гарантируется, что я получу номер телефона). Но что в случае, если у меня есть две SIM-карты в моем телефоне. Как telephonyManager.getLine1Number() вернет мне информацию о SIM-карте только для первой / активной SIM-карты.

Отредактировано: я также пытался получить всю информацию, которую получаю, когда получаю SMS, но не смог найти ничего интересного.

Так есть ли способ получить номер получателя (а не номер отправителя) из полученного SMS?

1 ответ

Попробуйте этот код,

public class SmsReceiver extends BroadcastReceiver {    

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

Bundle extras = intent.getExtras(); if (extras == null) return; Object[] pdus = (Object[]) extras.get("pdus"); String[] fromAddress = new String[pdus.length]; SmsMessage[] message = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { message[i] = SmsMessage.createFromPdu((byte[])pdus[i]); fromAddress[i] = message[i].getOriginatingAddress(); // it will give the address from where SMS was originated. }

}

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