【问题标题】:Get contact Number as it is from Contact list从联系人列表中获取联系人号码
【发布时间】:2017-06-22 00:11:22
【问题描述】:

我在使用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);

【问题讨论】:

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


    【解决方案1】:

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

    https://github.com/googlei18n/libphonenumber

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-30
      • 2016-10-08
      • 1970-01-01
      • 2021-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多