Java Android联系人号码格式

Java Android联系人号码格式,java,android,mobile,Java,Android,Mobile,我正在尝试检索手机中的联系人号码,我已经成功地做到了这一点,但是每个联系人的格式不同 我用来检索联系信息的代码是 Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null); while(cursor.moveToNext()) { String displayName = cursor

我正在尝试检索手机中的联系人号码,我已经成功地做到了这一点,但是每个联系人的格式不同

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

    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

电话号码5555

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


有人有什么想法吗?

基本上,这是因为您使用的android的区域设置。 我不知道你的确切情况,因为你的模拟器或应用程序设置可能不同

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


另外,请检查。

如@Youngjae所示,如果您想要格式化,那么您可以尝试PhoneNumberRutils

如果要删除所有格式,请尝试下面给出的String.replaceAll

number.replaceAll("[^0-9]", "");
这将删除所有特殊字符和括号