我可以从来电或短信中获取电话号码。不幸的是,在SMS的情况下,可能会有国家代码。所以,基本上我需要获得没有国家代码的普通电话号码,以便将其与联系人中的现有号码进行比较。获取Android中没有国家代码的电话号码
8
A
回答
25
如果要比较的电话号码,你可以随时使用
PhoneNumberUtils.compare(number1, number2);
或
PhoneNumberUtils.compare(context, number1, number2);
然后,您不必担心国家代码,它只会比较相反顺序的数字并查看它们是否匹配(足以满足呼叫方ID的目的)。
-1
快速未经测试方法(据我所知电话号码有10位数字):
// As I said, AFAIK phone numbers have 10 digits... (at least here in Mexico this is true)
int digits = 10;
// the char + is always at first.
int plus_sign_pos = 0;
// Always send the number to this function to remove the first n digits (+1,+52, +520, etc)
private String removeCountryCode(String number) {
if (hasCountryCode(number)) {
// +52 for MEX +526441122345, 13-10 = 3, so we need to remove 3 characters
int country_digits = number.length() - digits;
number = number.substring(country_digits);
}
return number;
}
// Every country code starts with + right?
private boolean hasCountryCode(String number) {
return number.charAt(plus_sign_pos) == '+'; // Didn't String had contains() method?...
}
,那么你只需要调用这些函数
相关问题
- 1. 从包含国家代码的号码获取电话号码
- 2. 从国家或国家代码获取电话代码 - Twilio
- 3. 保存电话号码+国家代码
- 4. 贮藏电话号码国家代码
- 5. 获取设备的国家代码/电话号码
- 6. PHP - RegEx匹配电话号码有或没有国家代码
- 7. 获取给定电话号码的详细国家名称和国家代码
- 8. 从python的国家代码中获取电话号码的国际前缀
- 9. android拨入电话的国家代码
- 10. 如何从给定的电话号码获得国家代码
- 11. 清单电话号码的所有国家代码
- 12. 从电话号码[libphonenumber]提取代码国家
- 13. 在Angular 4中验证电话号码和国家代码组合以获取电话号码验证?
- 14. 将电话号码转换为国际国家代码iOS
- 15. 获取国际国家ISD电话代码的最佳途径
- 16. 具有国家代码和国旗的角度国际电话号码
- 17. 使用电话号码获取来电国家名称?
- 18. 如何从电话号码中删除“+”和国家代码?
- 19. 电话号码的国家列表
- 20. 格式的电话号码与国家代码
- 21. 正常化给定国家代码的电话号码
- 22. 正则表达式的电话号码与国家代码
- 23. Android获取国家代码的位置
- 24. Validaiton电话号码为多个国家
- 25. 根据国家/地区代码格式化电话号码
- 26. 从电话号码查找国家代码
- 27. 根据国家代码验证电话号码
- 28. 获取ISO国家代码
- 29. C++获取国家代码
- 30. Android获取设备国家代码
这似乎对我来说足够好。感谢您的帮助。 – Alin
很好的解决方案,这对我工作很好 – kathir