Android:如何从传入的短信中获取电话号码?

标签 android sms

我有一个广播接收器 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/

相关文章:

android - Android Gradle-库使用调味包名称调用 Activity

javascript - Twilio 测试短信没有结果 StatusCallback

java - Android(Java)性能问题?

android - 如何在授予公共(public)访问权限的情况下将文件上传到 AWS S3?

android - 当新的短信到达时启动广播接收器

java - 在Windows中从java代码发送短信(文本)到手机

带有正文参数的Android短信链接

sms - 解释短信UDH header 08 07 01 03 00 03 08 02 02?

javascript - 使用 Headless JS 响应 native 的后台/前台服务

android - numLevels Wifimanager.calculateSignalLevel 方法的可能输入值是什么?