比较成功的一个,Android调用系统选择联系人,适合更多种手机
2013-05-08 20:48
337 查看
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);
}
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调用系统选择联系人,适合更多种手机,Google官方推荐
- Android 调用系统相机拍照(适配7.0)、从图库选择图片、从数据库读取联系人信息、相册图片、扫描文件
- android 对一个合并后的联系人选择编辑,手机屏幕会缓慢变暗后再进入编辑界面的问题
- JS中调用android和ios系统手机打开相机并可选择相册功能
- android 对一个合并后的联系人选择编辑,手机屏幕会缓慢变暗后再进入编辑界面的问题
- 原生Android向RN发送消息---(RN调用原生选择联系人,原生发送姓名和手机到RN例子)
- Android 调用系统联系人列表页并返回姓名和手机号码
- Android调用手机拍照以及从相册选择照片
- android 调用系统相册选取照片或者打开相机拍照获取图片,返回时回到手机桌面,然后才会跳转到当前activity
- App调用系统Camera拍照或者从Gallery选取图片,返回时先显示手机Launcher或者前一个界面,再跳转到当前activity
- Android系统的改进(七)-- 选择手机铃声时列出了所有的歌曲
- android 旋转手机的时候,如何忽略onCreate再次被系统调用?
- Android 调用系统相册选择图片并显示
- Android调用系统添加和编辑联系人的返回结果
- Android调用系统通讯录,并返回联系人号码和称呼
- Android ContentResolver读取手机系统数据<联系人>
- android调用系统播放器播放视频-小坑一个
- Android调用手机拍照以及从相册选择照片
- Android调用手机自带图库选择图片
- Android上传图片之调用系统拍照和从相册选择图片