Страница 1 из 1

Как узнать на какой номер пришла SMS?

Добавлено: 14 май 2014, 12:41
Taras
Привет всем, возникла очень интерессная проблмека.
Пишу приложение которое должно ловить событие о приходе входящего SMS, читать его и дальше что-то делать...
Проблема в том что предвидится использование dual(или даже quad) SIM телефонов, и необходимо точно знать на какую сим карту пришла SMS.

С получением SMS проблем нет, с чтением SMS тоже.

Код: Выделить всё

public class SmsReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		  Bundle extras = intent.getExtras();
          if (extras == null)
                 return;

          Object[] pdus = (Object[]) extras.get("pdus");
          for (int i = 0; i < pdus.length; i++) {
                 SmsMessage SMessage = SmsMessage.createFromPdu((byte[]) pdus[i]);
                 String sender = SMessage.getOriginatingAddress();
                 String body = SMessage.getMessageBody().toString();
          }
	}
	
}
Проблема с получением номера SIM карты.
Андроид API официально не имеет функционала для работы с несколькими SIM картами, но не исключает использование нескольких карт.
Как получить информацию о количестве и о самих SIM картах я понятие уже имею: http://stackoverflow.com/questions/1347 ... roid-phone
Но вот как узнать на какую SIM пришло смс, я к сожалению не знаю.
На маркете есть приложение которые прексрассно справляются с определением номера, значит это реально.
Возможно кто-то сталкивался с подобными затеями?
Буду рад помощи.