从联系人中选择 Phone 个号码
Pick Phone Number from contacts
我对那部分有疑问。如何替换字符串之间的space,何时从联系人列表中获取phone号码?
它工作正常,但一些 android 设备(例如 Samsung Tab)有
spaces 添加到他们的联系人中。我从 contact.So 得到数字 我得到字符串 99
99 99999 而不是 99999999。
还有,如何从该号码中删除国家代码。
例如:+91 999999999 而不是 9999999999 或 +020 9696854549 而不是 9696854549
我知道,使用 .replace() 删除 space。
是否有任何其他过程可以删除字符串之间的 space 。
我附上了我的代码:::
public void onClick(View view) {
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(contactPickerIntent,
RESULT_PICK_CONTACT);
}
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);
mobile_et.setText(phoneNo);
} catch (Exception e) {
e.printStackTrace();
}
}
只需替换phone号
中的每个白色space
phoneNo=phoneNo.replaceAll("\s+","");
String
class有个方法:
.replace(char oldChar, char newChar)
它 returns 一个新的 String
,是用 newChar
替换此字符串中出现的所有 oldChar
产生的。所以你只是用一个空的 String
替换所有空格(即 ""
):
phoneNo = cursor.getString(phoneIndex);
String phoneNumber= str.replaceAll(" ", ""); // your string without any spaces
我对那部分有疑问。如何替换字符串之间的space,何时从联系人列表中获取phone号码? 它工作正常,但一些 android 设备(例如 Samsung Tab)有 spaces 添加到他们的联系人中。我从 contact.So 得到数字 我得到字符串 99 99 99999 而不是 99999999。
还有,如何从该号码中删除国家代码。 例如:+91 999999999 而不是 9999999999 或 +020 9696854549 而不是 9696854549
我知道,使用 .replace() 删除 space。
是否有任何其他过程可以删除字符串之间的 space 。
我附上了我的代码:::
public void onClick(View view) {
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(contactPickerIntent,
RESULT_PICK_CONTACT);
}
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);
mobile_et.setText(phoneNo);
} catch (Exception e) {
e.printStackTrace();
}
}
只需替换phone号
中的每个白色spacephoneNo=phoneNo.replaceAll("\s+","");
String
class有个方法:
.replace(char oldChar, char newChar)
它 returns 一个新的 String
,是用 newChar
替换此字符串中出现的所有 oldChar
产生的。所以你只是用一个空的 String
替换所有空格(即 ""
):
phoneNo = cursor.getString(phoneIndex);
String phoneNumber= str.replaceAll(" ", ""); // your string without any spaces