得到联系人数据
来源:互联网 发布:qt5.9连接mysql数据库 编辑:程序博客网 时间:2024/05/16 11:05
/**
* 查询所有联系人信息
* 这里查询的是data表
*
*/
@SuppressLint("NewApi")
private void findContack() {
ContentResolver cr = this.getContentResolver();
Cursor cur = cr.query(Data.CONTENT_URI, null, null, null, "raw_contact_id");
int oldId = -1;
while(cur.moveToNext()){
int newId = cur.getInt(cur.getColumnIndex(Data.RAW_CONTACT_ID));
//新的联系人 外键发生改变了
if(oldId != newId ){
oldId = newId;
}
//取得当前记录的类型
String mimeType = cur.getString(cur.getColumnIndex(Data.MIMETYPE));
//取得名称相关
if(StructuredName.CONTENT_ITEM_TYPE.equals(mimeType)){
String familyName = cur.getString(cur.getColumnIndex(StructuredName.FAMILY_NAME)); //姓
String givenName = cur.getString(cur.getColumnIndex(StructuredName.GIVEN_NAME)); //名
mContactsName.add(givenName);
// //绘制联系人名称
// title.setText(mContactsName.get(position));
// //绘制联系人号码
// text.setText(mContactsNumber.get(position));
// //绘制联系人头像
// iamge.setImageBitmap(mContactsPhonto.get(position));
Bitmap contactPhoto = null;
Long contactid = cur.getLong(cur.getColumnIndex(StructuredName.CONTACT_ID));
Long photoid = cur.getLong(cur.getColumnIndex(StructuredName.PHOTO_ID));
if(photoid > 0 ) {
Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
contactPhoto = BitmapFactory.decodeStream(input);
}else {
contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo);
}
mContactsPhonto.add(contactPhoto);
}
//取得电话相关
else if(Phone.CONTENT_ITEM_TYPE.equals(mimeType)){
int phoneType = cur.getInt(cur.getColumnIndex(Phone.TYPE));
//宅电信息 家庭电话
if(phoneType == Phone.TYPE_HOME){
// p.homeTel = cur.getString(cur.getColumnIndex(Phone.NUMBER));
}
//手机信息
else if(phoneType == Phone.TYPE_MOBILE){
String mobileTel = cur.getString(cur.getColumnIndex(Phone.NUMBER));
mContactsNumber.add(mobileTel);
}
}
//取得及时(im)信息 msn qq
else if(Im.CONTENT_ITEM_TYPE.equals(mimeType)){
int imType = cur.getInt(cur.getColumnIndex(Im.PROTOCOL));
//msn
if(imType == Im.PROTOCOL_MSN){
// p.msn = cur.getString(cur.getColumnIndex(Im.DATA));
}
//QQ
else if(imType == Im.PROTOCOL_QQ){
String qq = cur.getString(cur.getColumnIndex(Im.DATA));
Log.i("DD","===qq===="+qq);
}
}
}
}
* 查询所有联系人信息
* 这里查询的是data表
*
*/
@SuppressLint("NewApi")
private void findContack() {
ContentResolver cr = this.getContentResolver();
Cursor cur = cr.query(Data.CONTENT_URI, null, null, null, "raw_contact_id");
int oldId = -1;
while(cur.moveToNext()){
int newId = cur.getInt(cur.getColumnIndex(Data.RAW_CONTACT_ID));
//新的联系人 外键发生改变了
if(oldId != newId ){
oldId = newId;
}
//取得当前记录的类型
String mimeType = cur.getString(cur.getColumnIndex(Data.MIMETYPE));
//取得名称相关
if(StructuredName.CONTENT_ITEM_TYPE.equals(mimeType)){
String familyName = cur.getString(cur.getColumnIndex(StructuredName.FAMILY_NAME)); //姓
String givenName = cur.getString(cur.getColumnIndex(StructuredName.GIVEN_NAME)); //名
mContactsName.add(givenName);
// //绘制联系人名称
// title.setText(mContactsName.get(position));
// //绘制联系人号码
// text.setText(mContactsNumber.get(position));
// //绘制联系人头像
// iamge.setImageBitmap(mContactsPhonto.get(position));
Bitmap contactPhoto = null;
Long contactid = cur.getLong(cur.getColumnIndex(StructuredName.CONTACT_ID));
Long photoid = cur.getLong(cur.getColumnIndex(StructuredName.PHOTO_ID));
if(photoid > 0 ) {
Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
contactPhoto = BitmapFactory.decodeStream(input);
}else {
contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo);
}
mContactsPhonto.add(contactPhoto);
}
//取得电话相关
else if(Phone.CONTENT_ITEM_TYPE.equals(mimeType)){
int phoneType = cur.getInt(cur.getColumnIndex(Phone.TYPE));
//宅电信息 家庭电话
if(phoneType == Phone.TYPE_HOME){
// p.homeTel = cur.getString(cur.getColumnIndex(Phone.NUMBER));
}
//手机信息
else if(phoneType == Phone.TYPE_MOBILE){
String mobileTel = cur.getString(cur.getColumnIndex(Phone.NUMBER));
mContactsNumber.add(mobileTel);
}
}
//取得及时(im)信息 msn qq
else if(Im.CONTENT_ITEM_TYPE.equals(mimeType)){
int imType = cur.getInt(cur.getColumnIndex(Im.PROTOCOL));
//msn
if(imType == Im.PROTOCOL_MSN){
// p.msn = cur.getString(cur.getColumnIndex(Im.DATA));
}
else if(imType == Im.PROTOCOL_QQ){
String qq = cur.getString(cur.getColumnIndex(Im.DATA));
Log.i("DD","===qq===="+qq);
}
}
}
}
0 0
- 得到联系人数据
- android 访问系统通讯录得到联系人数据
- Android contentResolver得到本机联系人数据
- Android得到短信联系人姓名
- 得到blackberry中的联系人信息(j2me)
- 使用Content Provider得到联系人信息
- 使用startActivityForResult得到通讯录联系人信息
- 使用Content Provider得到联系人信息
- 使用Content Provider得到联系人信息实例
- 通过ContentProvider得到手机联系人 ListView显示
- 读取联系人数据例子
- 快速获取联系人数据
- 清空联系人数据
- 清空联系人数据
- [联系人]监听联系人数据库刷新数据
- 程序中调用联系人数据
- 数据存储:ContentProvider获取联系人
- ContentResolver读取系统联系人数据
- PHP设计模式——中介者模式
- java设计模式 ----工厂模式
- 冒泡排序 BubbleSort
- 两阶段提交协议(2PC)
- Servlet3.0在文件上传时遇到的错误及解决方法
- 得到联系人数据
- 那些面试时遇到的事儿
- java运行环境
- 开放模式识别和图像处理之旅
- java的四大特征
- css鼠标手型cursor
- gem5配置
- Xcode6中lua生成静态库
- C++:函数<学习笔记>