从联系人列表中获取联系人号码

时间:2017-02-04 18:56:28

标签: android android-contentprovider android-contacts android-cursor android-contentresolver

我在使用ContentResolver获取联系时遇到了问题。

联系人列表显示与空格的联系,但在使用内容解析程序获取联系后,它会删除所有空格。

  

联系人列表:+91 XXXXX XXXXX

     

获取后:+ 91XXXXXXXXXX (错误删除空格)

但如果数字为

,则不会删除字符
  

联系人列表:+1(XXX)XXX-XXXX

     

获取后:+1(XXX)XXX-XXXX (原样正确)

以下代码用于获取联系人

 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);

1 个答案:

答案 0 :(得分:2)

multipleGames(100000) 字段可以包含任何格式的数字,不一定是用户可显示的友好数字。 要格式化显示给用户的数字,您可以使用Google的libphonenumber软件包,它解析电话号码并允许您将其格式化为用户友好格式或用于存储和比较的规范e164格式。

https://github.com/googlei18n/libphonenumber