Comparing phone numbers in Android

前端 未结 4 1238
故里飘歌
故里飘歌 2020-12-06 11:06

I need to compare two phone numbers to determine if they\'re from the same sender/receiver. The user may send a message to a contact, and that contact may reply.

The

相关标签:
4条回答
  • 2020-12-06 11:48

    just apply your logic to remove () and - and follow PhoneNumberUtils

    0 讨论(0)
  • 2020-12-06 11:50

    How about checking if the number is a substring of the receiver's number?

    For instance, let's say my Brazilian number is 888-777-666 and yours is 111-222-333. To call you, from here, I need to dial additional numbers to make international calls. Let's say I need to add 9999 + your_number, resulting in 9999111222333.

    If RawNumber.substring(your_number) returns true I can say that I'm calling you.

    0 讨论(0)
  • 2020-12-06 11:52

    Android has nice PhoneNumberUtils, and i guess your looking for :

        public static boolean compare (String a, String b)
    

    look in : http://developer.android.com/reference/android/telephony/PhoneNumberUtils.html

    using it should look like this :

    String phone1   
    String phone2 
    
     if (PhoneNumberUtils.compare(phone1, phone2)) {
        //they are the same do whatever you want!
       }
    
    0 讨论(0)
  • 2020-12-06 12:05

    android.telephony.PhoneNumberUtils class provides almost all necessary functions to deal with phone numbers and standards.

    For your case, the solution is PhoneNumberUtils.compare(Context context, String number1, String number2) or else PhoneNumberUtils.compare(String number1, String number2).The former one checks a resource to determine whether to use a strict or loose comparison algorithm, thus the better choice in most cases.

    PhoneNumberUtils.compare("0712593276", "+94712593276") // always true
    PhoneNumberUtils.compare("0712593276", "+44712593276") // always true
    
    // true or false depends on the context
    PhoneNumberUtils.compare(context, "0712593276", "+94712593276") 
    

    Take a look at the official documentation. And the source code.

    0 讨论(0)
提交回复
热议问题