繁体   English   中英

Android SmsMessage国家/地区代码

[英]Android SmsMessage country code

我目前正在开发一个应用程序来阻止来自特定国家/地区的短信,我已经创建了我的BroadcastReceiver类,它启动了一项服务,将电话号码与存储在数据库中的电话号码进行比较。 我的数据库包含移动国家/地区代码,我想将收到的国家/地区代码与数据库中的代码进行比较,遗憾的是我没有找到任何方法从数字中检索国家/地区代码。 我以为我可以通过一个简单的子串调用来检索它,但我注意到并非所有的国家代码都是相同的长度,所以我不能这样做。 我想知道前缀是否是唯一的(也就是说前缀可能是另一个的前缀),如果不是,那么我可以从最大大小前缀开始,然后是更短的前缀等等吗? 你能给我一个如何做到这一点的暗示吗?

谢谢

电话号码规则相当复杂,有许多特殊情况。 为了可靠地提取国家代码,我建议使用专门的库。 谷歌有一个着名的图书馆,称为libphonenumber:

https://code.google.com/p/libphonenumber/

看一下PhoneNumberUtil中的extractCountryCode方法,或者PhoneNumberUtil.parse,它返回一个可以调用getCountryCode的PhoneNumber对象。

它是开源的,所以,或者,如果您不想使用其他库,您可以查看其实现,以获取有关如何自行处理国家/地区代码的提示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM