【问题标题】:Where does SmsMessage getOriginatingAddress country code comes fromSmsMessage getOriginatingAddress 国家代码来自哪里
【发布时间】:2017-07-26 09:02:54
【问题描述】:

我目前正在开发 SmsReceiver 服务,该服务会检查 SMS 发件人的地址,如果该号码与我的数据库中的号码匹配,我可以处理该消息。
但问题是,getOriginatingAddress() 方法给出的电话号码总是带有国家代码,目前是 +420,所以 getOriginatingAddress() 返回例如 +420123456789。 (CZ)
解析不是问题,但我不知道的是,国家代码是从哪里来的?是来自 TelephonyManager getSimCountryIso() 还是来自我所在的当前国家或发件人来自哪里?
我可能会抓住前两个/三个数字,然后在一些预定义的国家代码地图中查找它们,但我希望通过电话提供的 100% 正确信息而不是我“猜测”来做到这一点。

【问题讨论】:

标签: java android telephonymanager mobile-country-code


【解决方案1】:

getOriginatingAddress 从短信本身获取完整号码(包括国家代码)。 每条短信都包含收件人、发件人和短信正文(等等)的信息。

向您发送短信的设备/提供商将包括国家/地区代码在内的完整号码(e164 格式)放入短信包中,然后发送给您,您的设备不会猜测国家/地区代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多