2013-04-18 2 views
5

Questo può sembrare strano ma voglio arrivare a quale numero ho ricevuto SMS, sul mio telefono. Posso ottenere il numero di cellulare per la SIM presente all'interno con telephonyManager.getLine1Number() (anche se non è garantito che otterrò il numero di telefono). Ma cosa succede se ho due SIM presenti nel mio telefono. Come telephonyManager.getLine1Number() mi verranno restituite solo le informazioni SIM per la prima/SIM attiva.Ottieni il numero del destinatario da SMS in Android

Redatta: Ho anche cercato di ottenere tutte le informazioni che ricevo ogni volta che ricevo ogni SMS, ma non ho trovato nulla di interessante.

Quindi esiste un modo per ottenere il numero del destinatario (e non il numero del mittente) dagli SMS ricevuti?

risposta

-1

provare questo codice,

public class SmsReceiver extends BroadcastReceiver {  

@Override vuoto OnReceive (contesto contesto, l'intenzione Intent) pubblico {

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. }

}