Java代码

<pre name="code" class="java">ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, "DISPLAY_NAME = '" + "gm" + "'", null,
                null);
if (cursor.moveToFirst()) {
//获得联系人的id            
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));

//修改联系人的头像
Bitmap sourceBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.img2);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// 将Bitmap压缩成PNG编码,质量为100%存储
sourceBitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
byte[] avatar =os.toByteArray();
ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, contactId);
values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE);
values.put(Photo.PHOTO, avatar);
getContentResolver().update(Data.CONTENT_URI, values, null, null);</pre>

构建uri

Java代码

Uri contactUri = ContentUris.withAppendedId(ContactsContract.Data.CONTENT_URI,
Long.parseLong(contactId));
//带路径
Uri photoUri = Uri.withAppendedPath(contactUri, ContactsContract.Contacts.Photo.DATA15);

此uri为content://com.android.contacts/contactId/data15

获得联系人图片

Java代码

// 获得联系人图片,        读取的是Data类中的data15字段
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,
 Long.parseLong(contactId)); InputStream input =
 ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
 Bitmap contactPhoto = BitmapFactory.decodeStream(input);
 ImageView img=(ImageView)findViewById(R.id.img);
 img.setImageBitmap(contactPhoto);

查询电话记录

Java代码

// 查询所有
// Cursor cursor=resolver.query(CallLog.Calls.CONTENT_URI, null,
        // null,null, null);
// 查询指定号码
Cursor cursor=resolver.query(CallLog.Calls.CONTENT_URI, null,
          "number=? and type=?", new String[]{"15555215556","2"}, null);
 while(cursor.moveToNext()){ //取得联系人名字 PhoneLookup.DISPLAY_NAME int nameFieldColumnIndex
         =cursor.getColumnIndex(CallLog.Calls.CACHED_NAME); String
    contact=cursor.getString(nameFieldColumnIndex);
//取得电话号码
 int numberFieldColumnIndex=cursor.getColumnIndex(PhoneLookup.NUMBER);
 String number=cursor.getString(numberFieldColumnIndex);

取得浏览器所有“书签”信息:content://browser/bookmarks

数据都存储在contract的data表中,每一个联系人项存储一行

另有两篇:一篇讲解contentProvider

http://www.cnblogs.com/not-code/archive/2011/06/24.html

另一篇讲解联系人

http://blog.csdn.net/wenlin56/article/details/6074437

android向联系人中添加头像以及获得电话记录相关推荐

  1. android 仿微信demo————注册功能完善添加头像功能(服务端)

    android 仿微信demo----微信启动界面实现 android 仿微信demo----注册功能实现(移动端) android 仿微信demo----注册功能实现(服务端) android 仿微 ...

  2. android 添加通讯录联系人头像,Android 手机通讯录开发时给联系人添加头像失败的坑...

    Android 手机通讯录开发时给联系人添加头像失败的坑,在给联系人添加头像代码 Bitmap photo = ...; // 将 Bitmap 转为 byte[] byte[] bytes = Ls ...

  3. android 仿微信demo————注册功能完善添加头像功能(移动端)

    android 仿微信demo----微信启动界面实现 android 仿微信demo----注册功能实现(移动端) android 仿微信demo----注册功能实现(服务端) android 仿微 ...

  4. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  5. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习...

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  6. Android 图片合成:添加蒙板效果 不规则相框 透明度渐变效果的实现

    Android 图片合成:添加蒙板效果 不规则相框 透明度渐变效果的实现 暂时还未有时间开发这效果,所以先贴出来. 先贴一张效果图,这是一张手机截屏: 左上方的风景图:背景图片 右上方的人物图:前景图 ...

  7. android viewpager动态加载页面,Android viewpager中动态添加view并实现伪无限循环的方法...

    本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里 ...

  8. 从零开始学Xamarin.Forms(四) Android 准备步骤(添加第三方Xamarin.Forms.Labs库)

    从零开始学Xamarin.Forms(四) Android 准备步骤(添加第三方Xamarin.Forms.Labs库) 原文:从零开始学Xamarin.Forms(四) Android 准备步骤(添 ...

  9. android textView 替文字添加下划线 删除线

    android textView 替文字添加下划线 删除线 方法1: tv=(TextView)findViewById(R.id.tv); tv.getPaint().setFlags(Paint. ...

最新文章

  1. 记录每个登陆用户的操作记录
  2. 用C语言解“12-24小时制”题
  3. java中byte、 int、char、long、float、double各占多少字节数?
  4. [JAVA基础类库] String类 ○ StringBuffer类 ○ StringBuilder类
  5. runat=server 所代表及隐含的意义
  6. 当你感到学习困难的时候,你在走上坡路!
  7. nature,science上关于计算机视觉的一些原创文献
  8. htc g7 android 4.4,HTC G7刷机,从WM手机刷到了安卓,开启了新的刷机体验....
  9. 学计算机专业的自荐信,浙江大学(计算机类)自主招生自荐信范文
  10. linux卸载htop,linux下 htop 工具简介
  11. 我:一个女孩从软件测试工程师到主管的成长
  12. 数据库表设计(一):字段设计规范和命名规范
  13. Win7系统的开机个性化
  14. java list去重工具_开发常用小工具类:list集合去重
  15. 基础篇:6.6)形位公差-基准 Datum
  16. matplotlib.pyplot 绘制图中图
  17. 计算机操作系统的主要功能
  18. 西电软工oop面向对象程序设计实验三上机报告
  19. qq令牌64位密钥提取_QQ令牌工具 活令牌查询动态密码(大哥牌)
  20. 八卦:大量放送Gmail,Orkut,Wallop的邀请函

热门文章

  1. 个人中心滚动标题渐变颜色
  2. Python - pyradiomics - 邻域灰阶依赖性矩阵特征(Neighboring Gray Level Dependence Matrix Features)
  3. TCP三次握手详解:传输控制块TCB以及积极和消极的连接建立方式
  4. 深入 AXI4 总线(一)握手机制
  5. Cargo更换国内源
  6. 5.2.4 js循环小练习02 6 做学院评奖系统​ 如果数学成绩大于80分并且语文成绩大于80分,获奖学金500元。​如果数学小于30并且语文小于30分,输出重修。 两个数a、b,如果a能被b整除
  7. Java 通过已知点的经纬度,相对角度,距离计算另一点的经纬度
  8. 网易实况足球获取服务器信息,网易实况足球:游戏疑难杂症解惑,快速通过“老司机”的考核...
  9. 谁是python上最快的xlsx writer
  10. java判断php的emoji,php 过滤emoji