Intent i = new Intent();
i.setAction(Intent.ACTION_PICK);
i.setData(ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(i, 1);
下面是onActivityResult(int requestCode, int resultCode, Intent data)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String name = "";
String phoneNumber = "";
switch (resultCode) {
case RESULT_OK:
switch (requestCode) {
case 1:
if (data == null) {
return;
}
Uri contactData = data.getData();
if (contactData == null) {
return;
}
Cursor cursor = managedQuery(contactData, null, null, null,
null);
if (cursor.moveToFirst()) {
name = cursor
.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String hasPhone = cursor
.getString(cursor
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
String id = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
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
+ " = " + id, null, null);
while (phones.moveToNext()) {
phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
setTitle(phoneNumber);
}
phones.close();
}
cursor.close();
}
phoneNumber = phoneNumberFormat(phoneNumber);
Log.i("info", "发送短信" + " : " + name + "--"
+ phoneNumberFormat(phoneNumber));
FlightDynamicSmsRemindContactVM contactVM = new FlightDynamicSmsRemindContactVM();
contactVM.displayName = name;
contactVM.number = phoneNumber;
if (!isExists(phoneNumber)) {
contactVMs.add(contactVM);
} else {
Toast.makeText(this, "该号码已存在!", 3000).show();
}
break;
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
本文介绍了如何使用Android系统API获取联系人信息,并通过发送短信功能实现与联系人的互动。
601

被折叠的 条评论
为什么被折叠?



