【发布时间】:2017-08-03 06:16:20
【问题描述】:
我对此部分有疑问。当我从联系人列表中选择电话号码时,如何删除国家代码?
例如:+91 999999999 而不是 9999999999 或 +020 9696854549 而不是 9696854549 谁能知道我的问题的答案。请给出这个问题的解决方案
我在这里附上了我的代码和图片。
private void contactPicked(Intent data) {
Cursor cursor = null;
try {
String phoneNo = null ;
// getData() method will have the Content Uri of the selected contact
Uri uri = data.getData();
//Query the content uri
cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
// column index of the phone number
int phoneIndex =cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER
phoneNo = cursor.getString(phoneIndex);
String phoneNumber = phoneNo.replaceAll(" ","");
mobile_et.setText(phoneNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
【问题讨论】:
-
@IntelliJAmiya 这仅适用于国家代码为三位数的国家/地区。美国有 1 个,很多国家有 2 个……
-
没有说所有电话号码都必须有国家代码(在联系人列表中)。但是,您可以通过查找“+”来检查这一点,然后删除它后面的数字(直到第一个空格)。
-
@PeterAbolins 确实
标签: java android telephonymanager