Ho riscontrato un problema nel trovare il numero di telefono del destinatario dagli SMS non elaborati in arrivo. Ecco il codice che sto cercando:Android: come ottenere il numero di telefono del mittente e del destinatario da sms primari
Qualcuno può dirmi come recuperare il numero di telefono del ricevitore da SMS non elaborati.
public class SMSReceiver extends BroadcastReceiver {
private Context context;
@Override
public void onReceive(Context context, Intent intent) {
this.context = context;
// Parse the SMS.
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null)
{
// Retrieve the SMS.
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
//appending to str String.
str += "OriginatingAddress: ";
str += msgs[i].getOriginatingAddress();
str += " :\n";
str += " :\n";
str += "DisplayOriginatingAddress: ";
str += msgs[i].getDisplayOriginatingAddress();
str += " :\n";
str += " :\n";
str += "DisplayMessageBody: ";
str += msgs[i].getDisplayMessageBody();
str += " :\n";
str += " :\n";
str += "MessageBody: ";
str += msgs[i].getMessageBody();
}
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
Grazie per l'aiuto in anticipo!
Le risposte correnti non mostrano come ottenere il numero della parte ricevente. Assegnerò la taglia su una risposta che può ottenere il numero di telefono o mostrare che non è possibile. –
@DaveChen I metadati PDU per un messaggio SMS non contengono l'indirizzo del destinatario e pertanto non possono essere recuperati direttamente da un testo in entrata. È possibile, tuttavia, verificare il numero di un dispositivo facendo in modo che il dispositivo invii a se stesso un testo. –