0

我正在尝试检索电话中的联系人号码,并且我已经成功地做到了,但是每个联系人的格式不同。

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

    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

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

有人有什么想法吗?

4

2 回答 2

1

基本上,这是因为您使用的 android 的语言环境设置。我不完全了解您的情况,因为您的模拟器或应用程序设置可能不同。

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

并且,请也检查这个类似的帖子

于 2013-05-23T04:50:50.510 回答
0

正如@Youngjae 所给出的,如果你想进行格式化,那么你可以试试PhoneNumberUtils。

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

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

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

于 2013-05-23T05:13:43.167 回答