我正在通过写一个电话号码向某人发送短信,但现在我想通过选择发件人的联系人来添加从电话簿联系人自动获取号码的功能。任何人都可以告诉我如何在我的应用程序中添加该功能?谢谢你。
答案 0 :(得分:2)
这可以按如下方式完成:
button
点击或点击您用来收集电话号码的EditText
//点击时选择联系人
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (1) :
getContactInfo(data);
edittext.setText(contactName); // Set text on your EditText
break;
}
}
当用户点击EditText
时,这会加载所有联系人。
public void getContactInfo(Intent intent) {
String phoneNumber = null;
String name = null;
Cursor cursor = managedQuery(intent.getData(), null, null, null, null);
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1"))
hasPhone = "true";
else
hasPhone = "false";
if (Boolean.parseBoolean(hasPhone)) {
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);
while (phones.moveToNext()) {
phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}// end while
phones.close();
}// end if
}// end while
return arr;
}// end class
答案 1 :(得分:1)
我认为您首先需要通过Contacts API访问手机上存储的联系人。然后从原始联系人中检索电话号码并使用它来发送短信。