Android联系号码格式

时间:2013-05-23 04:23:45

标签: java android mobile

我正在尝试检索手机中的联系人号码并且我已成功完成该操作,但每个联系人的格式不同。

我用来检索联系信息的代码是

    Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null);

    while(cursor.moveToNext()) {

        String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
        String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

        System.out.println("Phone Number " + phoneNumber);

输出

  

电话号码(555)555-5555

     

电话号码5555555555

我不明白为什么会这样。在我使用的模拟器中我以完全相同的方式添加了联系人。姓名和手机号码。我不确定为什么他们不同

有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

基本上,这是因为你正在使用的android的语言环境设置。 我不确切知道你的,因为你的模拟器或应用程序设置可能不同。

我建议您使用PhoneNumberUtils,以便以相同的格式输出您的电话号码。

并且,请同时查看this similar post

答案 1 :(得分:0)

正如@Youngjae所说,如果您想要格式化,那么您可以尝试使用PhoneNumberUtils。

如果要删除所有格式,请尝试使用String.replaceAll,如下所示。

number.replaceAll("[^0-9]", "");

这将删除所有特殊字符和括号。