我正在尝试检索手机中的联系人号码并且我已成功完成该操作,但每个联系人的格式不同。
我用来检索联系信息的代码是
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
我不明白为什么会这样。在我使用的模拟器中我以完全相同的方式添加了联系人。姓名和手机号码。我不确定为什么他们不同
有人有什么想法吗?
答案 0 :(得分:0)
基本上,这是因为你正在使用的android的语言环境设置。 我不确切知道你的,因为你的模拟器或应用程序设置可能不同。
我建议您使用PhoneNumberUtils,以便以相同的格式输出您的电话号码。
并且,请同时查看this similar post。
答案 1 :(得分:0)
正如@Youngjae所说,如果您想要格式化,那么您可以尝试使用PhoneNumberUtils。
如果要删除所有格式,请尝试使用String.replaceAll,如下所示。
number.replaceAll("[^0-9]", "");
这将删除所有特殊字符和括号。