从联系人列表中获取联系号码
Get contact Number as it is from Contact list
我 运行 在使用 ContentResolver
获取联系人时遇到问题。
联系人列表显示带有空格的联系人,但在使用内容解析器获取联系人后,它删除了所有空格。
Contact list : +91 XXXXX XXXXX
After fetch : +91XXXXXXXXXX (Wrong removing spaces)
但是,如果数字是
,它不会删除字符
Contact list : +1 (XXX) XXX-XXXX
After fetch : +1 (XXX) XXX-XXXX (Correct as it is)
以下代码用于获取联系人
String order = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC";
String[] projection = new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME};
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
null, null, order);
CommonDataKinds.Phone.NUMBER
字段可以包含任何格式的数字,不一定是用户可显示的友好格式。
要格式化显示给用户的数字,您可以使用 Google 的 libphonenumber 包,它解析 phone 数字并允许您将其格式化为用户友好的格式,或用于存储和比较的规范 e164 格式。
我 运行 在使用 ContentResolver
获取联系人时遇到问题。
联系人列表显示带有空格的联系人,但在使用内容解析器获取联系人后,它删除了所有空格。
Contact list : +91 XXXXX XXXXX
After fetch : +91XXXXXXXXXX (Wrong removing spaces)
但是,如果数字是
,它不会删除字符Contact list : +1 (XXX) XXX-XXXX
After fetch : +1 (XXX) XXX-XXXX (Correct as it is)
以下代码用于获取联系人
String order = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC";
String[] projection = new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME};
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
null, null, order);
CommonDataKinds.Phone.NUMBER
字段可以包含任何格式的数字,不一定是用户可显示的友好格式。
要格式化显示给用户的数字,您可以使用 Google 的 libphonenumber 包,它解析 phone 数字并允许您将其格式化为用户友好的格式,或用于存储和比较的规范 e164 格式。