0

我正在使用以下代码获取保存在设备上的联系人

     String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor cur = mParentActivity.getContentResolver().
                   query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                           null, null, null, sortOrder);
    while (cur.moveToNext()) {
    String phoneNo = cur.getString(cur.getColumnIndex(
                       ContactsContract.CommonDataKinds.Phone.NUMBER));
    }

我正在使用我的华为手机进行测试并获取本地联系人,例如

+61 455 553 970

+972 55-644-4862

我的问题是,我会在所有设备的国家电话代码之后获得空格吗?

4

1 回答 1

1

从文档中:

NUMBER public static final String NUMBER 用户输入的电话号码。

类型:文本

所以看起来它就像被提供了一样。我怀疑您是否可以假设它在国家代码之后总是有空格。您可以检查 NORMALIZED_NUMBER。它可能更适合您的用例。

参考:https ://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone.html#NUMBER

编辑:您可以使用https://github.com/googlei18n/libphonenumber来验证电话号码。

于 2019-07-24T07:12:58.200 回答