我有一个广播接收器SMSApp,它的onReceive会从 Intent 中读取bundleExtras。在这里,我如何从bundleExtras中读取电话号码?

if(intent.getAction().equals(SMS_RECEIVED))
{
  Bundle bundleExtras = intent.getExtras();
  if (bundleExtras != null)
    {

    }
}

最佳答案

Bundle bundle = intent.getExtras();
            Object[] pdus = (Object[]) bundle.get("pdus");
            final SmsMessage[] messages = new SmsMessage[pdus.length];
            for (int i = 0; i < pdus.length; i++) {
                messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            }

现在,messages[0].getOriginatingAddress()是地址,messages[0].getMessageBody()是消息正文。

关于Android:如何从收到的短信中获取电话号码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9378328/

10-09 03:00