contactphoto(android开发怎样获取通讯录联系人信息)

2025-03-05 12:20:03 0

contactphoto(android开发怎样获取通讯录联系人信息)

本文目录

android开发怎样获取通讯录联系人信息

在Android开发中,我经常会遇到需要获取手机通讯录联系人信息,Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息获取出来。 下面直接贴出代码供大家参考:程序文件java代码:import java.io.InputStream; import java.util.ArrayList; import android.app.ListActivity; import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.CommonDataKinds.Photo; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; public class ContactsActivity extends ListActivity { Context mContext = null; /**获取库Phon表字段**/ private static final String PHONES_PROJECTION = new String { Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID,Phone.CONTACT_ID }; /**联系人显示名称**/ private static final int PHONES_DISPLAY_NAME_INDEX = 0; /**电话号码**/ private static final int PHONES_NUMBER_INDEX = 1; /**头像ID**/ private static final int PHONES_PHOTO_ID_INDEX = 2; /**联系人的ID**/ private static final int PHONES_CONTACT_ID_INDEX = 3; /**联系人名称**/ private ArrayList《String》 mContactsName = new ArrayList《String》(); /**联系人头像**/ private ArrayList《String》 mContactsNumber = new ArrayList《String》(); /**联系人头像**/ private ArrayList《Bitmap》 mContactsPhonto = new ArrayList《Bitmap》(); ListView mListView = null; MyListAdapter myAdapter = null; @Override public void onCreate(Bundle savedInstanceState) { mContext = this; mListView = this.getListView(); /**得到手机通讯录联系人信息**/ getPhoneContacts(); myAdapter = new MyListAdapter(this); setListAdapter(myAdapter); mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView《?》 adapterView, View view, int position, long id) { //调用系统方法拨打电话 Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri .parse(“tel:“ + mContactsNumber.get(position))); startActivity(dialIntent); } }); super.onCreate(savedInstanceState); } /**得到手机通讯录联系人信息**/ private void getPhoneContacts() { ContentResolver resolver = mContext.getContentResolver(); // 获取手机联系人 Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null); if (phoneCursor != null) { while (phoneCursor.moveToNext()) { //得到手机号码 String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX); //当手机号码为空的或者为空字段 跳过当前循环 if (TextUtils.isEmpty(phoneNumber)) continue; //得到联系人名称 String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX); //得到联系人ID Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX); //得到联系人头像ID Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX); //得到联系人头像Bitamp Bitmap contactPhoto = null; //photoid 大于0 表示联系人有头像 如果没有给此人设置头像则给他一个默认的 if(photoid 》 0 ) { Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid); InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri); contactPhoto = BitmapFactory.decodeStream(input); }else { contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo); } mContactsName.add(contactName); mContactsNumber.add(phoneNumber); mContactsPhonto.add(contactPhoto); } phoneCursor.close(); } } /**得到手机SIM卡联系人人信息**/ private void getSIMContacts() { ContentResolver resolver = mContext.getContentResolver(); // 获取Sims卡联系人 Uri uri = Uri.parse(“content://icc/adn“); Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null, null); if (phoneCursor != null) { while (phoneCursor.moveToNext()) { // 得到手机号码 String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX); // 当手机号码为空的或者为空字段 跳过当前循环 if (TextUtils.isEmpty(phoneNumber)) continue; // 得到联系人名称 String contactName = phoneCursor .getString(PHONES_DISPLAY_NAME_INDEX); //Sim卡中没有联系人头像 mContactsName.add(contactName); mContactsNumber.add(phoneNumber); } phoneCursor.close(); } } class MyListAdapter extends BaseAdapter { public MyListAdapter(Context context) { mContext = context; } public int getCount() { //设置绘制数量 return mContactsName.size(); } @Override public boolean areAllItemsEnabled() { return false; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView iamge = null; TextView title = null; TextView text = null; if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate( R.layout.colorlist, null); iamge = (ImageView) convertView.findViewById(R.id.color_image); title = (TextView) convertView.findViewById(R.id.color_title); text = (TextView) convertView.findViewById(R.id.color_text); } //绘制联系人名称 title.setText(mContactsName.get(position)); //绘制联系人号码 text.setText(mContactsNumber.get(position)); //绘制联系人头像 iamge.setImageBitmap(mContactsPhonto.get(position)); return convertView; } } }

contactphoto后来添加的人,怎么设置头像

1- 把刚才下载的 zip格式的头像包,放在 ’/sdcard/contactphoto/user/’ 目录下程序会自动识别此头像包。记得勾选 重复使用头像2- 接着 点击 开始,就行了。ContactPhoto可以从下载的头像包中随机设置你的联系人头像。使你的联系人更加生动有趣。功能简介1、更新算法操作更加迅速2、更新用户界面3、支持浏览在线头像方便用户挑选/预览联系人头像4、支持浏览在线头像包5、支持备份/还原/清空联系人头像6、支持滑动加载资源7、支持2.0以上版本注意设置好了后,如果绑定了gmail,会同步到gmail

contactphoto(android开发怎样获取通讯录联系人信息)

本文编辑:admin
android开发 ,contactphoto ,android

更多文章:


算法导论第三版课后答案(求算法导论 第三版26-6(第二版26-7) Hopcroft-Karp二分匹配算法思考题答案)

算法导论第三版课后答案(求算法导论 第三版26-6(第二版26-7) Hopcroft-Karp二分匹配算法思考题答案)

本文目录求算法导论 第三版26-6(第二版26-7) Hopcroft-Karp二分匹配算法思考题答案算法导论第三版第十章怎么没有答案求算法导论 第三版26-6(第二版26-7) Hopcroft-Karp二分匹配算法思考题答案建议楼主还是

2025年3月28日 05:40

delete键是哪个(键盘上的delete键在哪个位子)

delete键是哪个(键盘上的delete键在哪个位子)

本文目录键盘上的delete键在哪个位子delete在电脑键盘上的哪儿delete是什么键DEL是什么键,在键盘哪里的键盘上的delete键是哪个键键盘删除键是哪个键盘上的delete键在哪个位子分析如下:首先Delete按键,是在功能区左

2025年3月14日 16:00

合并单元格怎么拉序号(合并单元格如何填充序号)

合并单元格怎么拉序号(合并单元格如何填充序号)

本文目录合并单元格如何填充序号合并单元格怎么拉序号Excel如何在不规则的合并单元格中批量添加序号excel表中部分合并单元格如何拉序号excel合并单元格怎么拉序号excel表格中怎么对合并的单元格填充序号请问EXCEL合并单元格时,怎么

2025年2月10日 18:40

even though和though的区别(even though和though有什么区别)

even though和though的区别(even though和though有什么区别)

本文目录even though和though有什么区别even though和though的区别though和eventhough的区别even though 和though ,although分别什么意思怎么用even though和th

2025年3月7日 11:00

pawpaw(papaya和pawpaw的区别)

pawpaw(papaya和pawpaw的区别)

本文目录papaya和pawpaw的区别papaya什么意思papaya和pawpaw的区别木瓜,学名番木瓜,又名万寿果。木瓜是番木瓜科常绿软木性乔木,与香蕉、菠萝同称为“热带三大草本果树”,是热带、亚热带水果中维生素A元含量很高的一种水果

2025年2月28日 02:50

ingress游戏(怎样从ingress官网看地图)

ingress游戏(怎样从ingress官网看地图)

本文目录怎样从ingress官网看地图一款像pokemon go的游戏,不是口袋妖怪比go早出好几年,也可以用摄像头怎样从ingress官网看地图Ingress是一款基于地图的移动在线增强现实游戏,全世界的玩家都可以参与到其中。玩家可以在两

2025年2月20日 19:10

shell翻译(shell在计算机语言中一般是啥意思,比如在linux中)

shell翻译(shell在计算机语言中一般是啥意思,比如在linux中)

本文目录shell在计算机语言中一般是啥意思,比如在linux中什么是shell,什么又是kernerlshell是不是书架的意思shell命令和linux命令的区别shell 就是linux命令吗shell在计算机语言中一般是啥意思,比如

2025年2月10日 08:40

内存管理器下载(有没有什么好用的手机内存清理APP)

内存管理器下载(有没有什么好用的手机内存清理APP)

本文目录有没有什么好用的手机内存清理APP大家晚上好,我的手机内存不足了我应该下载哪个软件清理好请问在官网上看见的三星内存管理器在那里下载我主要是想清理手机机内存管理有没有什么好用的手机内存清理APP部分三星手机内置“智能管理器”或“内存管

2025年4月5日 02:50

canyon官网(crow canyon官网会被税吗)

canyon官网(crow canyon官网会被税吗)

本文目录crow canyon官网会被税吗canyon公路车等级区分crow canyon官网会被税吗canyon官网直邮超过5000元只能走正式报关。一般canyon官网直邮超过5000元只能走正式报关,申报方式建议选免费提供,可以避免公

2025年3月9日 04:40

Li是什么意思?用这些词语写语段 mother. cook .be good at,delicious,fruit,salad

Li是什么意思?用这些词语写语段 mother. cook .be good at,delicious,fruit,salad

本文目录Li是什么意思用这些词语写语段 mother. cook .be good at,delicious,fruit,saladLi是什么意思在宝马的命名中,i代表汽油机,d代表柴油机。在欧洲,柴油车很普遍,现代柴油机环保节能,所以宝马

2025年3月28日 07:20

objection可数还是不可数(have got 句型与there be 句型)

objection可数还是不可数(have got 句型与there be 句型)

本文目录have got 句型与there be 句型any objection需要加S吗There be句型用法如何用~have got 句型与there be 句型Have/Has got句型:它表示某物归某人所有,是一种所属关系,主语

2025年2月18日 15:10

linux获取当前时间的命令(linux系统时间命令)

linux获取当前时间的命令(linux系统时间命令)

本文目录linux系统时间命令linux中,怎么通过shell语句获取当前日期,输出格式要求20111224.Linux中如何查看修改系统的时间和时区linux 怎么用命令查看日期linux系统时间命令题主你好,linux下一般是通过dat

2025年4月5日 18:50

contain翻译(contain 与involve的区别)

contain翻译(contain 与involve的区别)

本文目录contain 与involve的区别what did they contain汉译英contain 与involve的区别contain是包含,包括的意思,主语一般是物;involve是包括, 笼罩, 潜心于, 使陷于的意思,习惯

2025年3月17日 13:40

studying的翻译(study 和studying都有名词词性 有什么区别)

studying的翻译(study 和studying都有名词词性 有什么区别)

本文目录study 和studying都有名词词性 有什么区别study for tests 翻译bobby,bear,is,studying什么读“学习使我快乐”用英文怎么翻译study 和studying都有名词词性 有什么区别stud

2025年4月3日 03:40

网站源码授权破解(如何破解php源码授权)

网站源码授权破解(如何破解php源码授权)

本文目录如何破解php源码授权怎么破解有限制的网站源码程序Php网站需要授权才能使用后台的全部功能,这个该如何破解啊买了一个网站源码,结果更换域名什么的都需要授权,有办法破解这个限怎样破解PHP网站源码程序一个网站有源码想破解,不知道怎么弄

2025年2月21日 20:20

html登录模板(静态网页的html固定登录模块)

html登录模板(静态网页的html固定登录模块)

本文目录静态网页的html固定登录模块我想找一个企业网站的html模板,比较简洁,主页左边最好有这种登录模块,模板可以直接拿来使用,谢谢html用户登录模块,分普通用户和管理员的静态网页的html固定登录模块可以实现,用js或者jquery

2025年3月31日 15:40

thanks什么意思(thanks的翻译中文意思是什么)

thanks什么意思(thanks的翻译中文意思是什么)

本文目录thanks的翻译中文意思是什么thanks中文什么意思英语单词thanKs是什么意思thanks 什么意思thanks中文是什么意思英文ThankS是什么意思Thanks什么意思thanks的翻译中文意思是什么thanks

2025年2月22日 14:30

java多线程状态(java多线程有哪些状态)

java多线程状态(java多线程有哪些状态)

本文目录java多线程有哪些状态java多线程有哪些状态,主要流转流程java多线程有哪些状态初始态:一个线程调用了new方法之后,并在调用start方法之前的所处状态。就绪:一旦线程调用了start 方法,线程就转到Runnable 状态

2025年3月29日 00:30

三次握手四次挥手(TCP为什么需要3次握手与4次挥手)

三次握手四次挥手(TCP为什么需要3次握手与4次挥手)

本文目录TCP为什么需要3次握手与4次挥手为什么建立连接是三次握手,而关闭连接却是四次挥手求助:TCP三次握手 四次挥手全过程TCP 三次握手和四次挥手指的什么三次握手及四次挥手在TCP/ip模型的哪一层进行的最好有理由~TCP/IP需要几

2025年3月10日 08:00

暴力破解字典txt(暴力破解软件的字典是什么意思)

暴力破解字典txt(暴力破解软件的字典是什么意思)

本文目录暴力破解软件的字典是什么意思什么是暴力破解,掩码破解,字典破解求暴力破解压缩包软件,已经字典!暴力破解软件的字典是什么意思根据你所知道的密码掩码和密码范围生成的字典(可以根据生日,时间,或者其他一些代码组合,字典生成的好坏关系到密码

2025年3月27日 02:20

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索