我可以從來電或短信中獲取電話號碼。不幸的是,在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