首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SMS Retriever API如何检索SMS发件人号码

SMS Retriever API如何检索SMS发件人号码
EN

Stack Overflow用户
提问于 2019-02-15 12:59:07
回答 2查看 597关注 0票数 6

能不能拿到我在安卓系统里收到的手机号码?我们正在尝试通过发送SMS并从运营商那里获取来验证用户的手机号码,但下一步涉及到通过读取SMS进行身份验证。我们面临的问题是,如果我从任何其他移动设备发送相同的消息,则无法验证发起SMS号码。它盲目地读取短信。

EN

回答 2

Stack Overflow用户

发布于 2020-02-29 19:47:42

使用SMS Retriever API获取发送者的手机号码将是一个很好的选择,以避免错误的SMS检索。但不幸的是,您无法获得发送者的手机号码的短信,您已经检索到此接口到现在的。此功能可能会在未来的版本中提供。

但是如果你已经有了OTP验证机制,那也没什么好担心的,因为...

  1. 短信检索器API已经有了一些授权机制,可以减少这种虚假短信检索案例的可能性。例如,使用SMS Retrieval API读取的所有SMS都有一个11个字符的散列字符串来标识您的应用程序。不是每个人都知道你的应用程序的哈希串,因此收到未经授权的短信的可能性非常低。
  2. 即使你收到的是未经授权的人发送的虚假短信,从它得到的动态口令也是无效的,因此没有未经授权验证的机会。

BONUS

谷歌还发布了一个名为SMS用户同意API的新API,它可以通过一次点击自动填写OTP。幸运的是,这个API还提供了发送者的手机号码过滤功能。这意味着,如果你的短信提供商从一个特定的手机号码向你发送短信,你可以在你的代码中指定它,它将只读取从该手机号码接收的短信。

参考:

短信检索器接口:https://developers.google.com/identity/sms-retriever/overview

短信用户同意接口:https://developers.google.com/identity/sms-retriever/user-consent/overview

票数 5
EN

Stack Overflow用户

发布于 2020-03-04 23:56:26

我实际上在我的项目中实现了它。

我的.xml (清单) ->中有一个广播接收器

代码语言:javascript
复制
    android:name=".messaging.SmsReceiver"
    android:enabled="true"
    android:exported="true"
    android:permission="android.permission.BROADCAST_SMS">
    <intent-filter android:priority="999">
        <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    </intent-filter>
</receiver>

and you can get it doing this in the onReceive method:

String format = "";
List<String> contents = new ArrayList<>();
for (int i = 0; i < pdus.length; i++) {
    SmsMessage message;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        format = bundle.getString("format");
        message = getFromPdu(pdus, format, i);
    } else {
        message = getFromPdu(pdus, i);
    }
  contents.add(Strings.emptyToNull(CharMatcher.whitespace().trimFrom(message.getMessageBody())));
    sourceNumber = message.getDisplayOriginatingAddress();
}  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54702908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档