我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android保存联系人到通讯录的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android保存联系人到通讯录的方法

上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存的联系人数据。 

因为是一个工具类,所以我这里就只给一个方法了,也是很简单,但是写的没有读取联系人的数据那么多,要保存更多其实看下如何读取的就会了。

直接上源码: 

   public static boolean addContact(Context context, ContactEntity contact) {     try {       ContentValues values = new ContentValues();        // 下面的操作会根据RawContacts表中已有的rawContactId使用情况自动生成新联系人的rawContactId       Uri rawContactUri = context.getContentResolver().insert(           RawContacts.CONTENT_URI, values);       long rawContactId = ContentUris.parseId(rawContactUri);        // 向data表插入姓名数据       String name = contact.getName();       if (name != "") {         values.clear();         values.put(Data.RAW_CONTACT_ID, rawContactId);         values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);         values.put(StructuredName.GIVEN_NAME, name);         context.getContentResolver().insert(             ContactsContract.Data.CONTENT_URI, values);       }        // 向data表插入电话数据       String mobile_number = contact.getPhone1().get(0);       if (mobile_number != "") {         values.clear();         values.put(Data.RAW_CONTACT_ID, rawContactId);         values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);         values.put(Phone.NUMBER, mobile_number);         values.put(Phone.TYPE, Phone.TYPE_MOBILE);         context.getContentResolver().insert(             ContactsContract.Data.CONTENT_URI, values);       }        // 向data表插入Email数据       String email = contact.getEmail();       if (email != "") {         values.clear();         values.put(Data.RAW_CONTACT_ID, rawContactId);         values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);         values.put(Email.DATA, email);         values.put(Email.TYPE, Email.TYPE_WORK);         context.getContentResolver().insert(             ContactsContract.Data.CONTENT_URI, values);       }        // 向data表插入QQ数据       String qq = contact.getQq();       if (qq != "") {         values.clear();         values.put(Data.RAW_CONTACT_ID, rawContactId);         values.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);         values.put(Im.DATA, qq);         values.put(Im.PROTOCOL, Im.PROTOCOL_QQ);         context.getContentResolver().insert(             ContactsContract.Data.CONTENT_URI, values);       }        // 向data表插入备注信息       String describe = contact.getDescribe();       if (describe != "") {         values.clear();         values.put(Data.RAW_CONTACT_ID, rawContactId);         values.put(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE);         values.put(Note.NOTE, describe);         context.getContentResolver().insert(             ContactsContract.Data.CONTENT_URI, values);       }        // 向data表插入头像数据       Bitmap sourceBitmap = BitmapFactory.decodeResource(           context.getResources(), R.drawable.icon);       final ByteArrayOutputStream os = new ByteArrayOutputStream();       // 将Bitmap压缩成PNG编码,质量为100%存储       sourceBitmap.compress(Bitmap.CompressFormat.PNG, 100, os);       byte[] avatar = os.toByteArray();       values.put(Data.RAW_CONTACT_ID, rawContactId);       values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE);       values.put(Photo.PHOTO, avatar);       context.getContentResolver().insert(           ContactsContract.Data.CONTENT_URI, values);     }      catch (Exception e) {       return false;     }     return true;    } 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android保存联系人到通讯录的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android保存联系人到通讯录的方法

上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存的联系人数据。 因为是一个工具类,所以我这里就只给一个方法了,也是很简单,但是写的没有读取联系人的数据那么多,要保存更多其实看下如
2023-05-30

Android手机联系人快速索引(手机通讯录)

最近需要实现一个手机通讯录的快速索引功能。根据姓名首字母快速索引功能。下面是一个手机联系人快速索引的效果,总体来说代码不算难,拼音转换的地方略有复杂。下面上源码:源码中有注释。 下面是效果图:MainActivity:import java
2022-06-06

使用adb命令向Android模拟器中导入通讯录联系人的方法

本文实例讲述了使用adb命令向Android模拟器中导入通讯录联系人的方法。分享给大家供大家参考。具体实现方法如下: 使用adb提供的命令, 可以非常方便地从PC中将通讯录导入android模拟器中. 首先要先准备好固定格式的contact
2022-06-06

Android开发实现删除联系人通话记录的方法

本文实例讲述了Android开发实现删除联系人通话记录的方法。分享给大家供大家参考,具体如下: 1. 负责存放呼叫记录的内容提供者源码在 ContactsProvider 项目下: 源码路径: com/Android/providers/c
2022-06-06

Android获取手机通讯录、sim卡联系人及调用拨号界面方法

android获取手机通讯录联系人信息代码如下: private void getPhoneContacts() { ContentResolver resolver = this.getContentResolver();
2022-06-06

Android获取联系人头像的方法

本文实例讲述了Android获取联系人头像的方法。分享给大家供大家参考,具体如下:public byte[] getPhoto(String people_id) { String photo_id = null; String selec
2022-06-06

Android编程实现通讯录中联系人的读取,查询,添加功能示例

本文实例讲述了Android编程实现通讯录中联系人的读取,查询,添加功能。分享给大家供大家参考,具体如下:先加二个读和写权限:2023-05-31

PHP实现多对一通讯录:简单实用的联系人管理

PHP实现多对一通讯录:简单实用的联系人管理随着社交网络的普及,人们的社交关系变得越来越复杂,管理联系人信息也变得越来越重要。在这种背景下,开发一个简单实用的联系人管理系统变得尤为重要。本文将介绍如何使用PHP实现一个多对一的通讯录,实现
PHP实现多对一通讯录:简单实用的联系人管理
2024-03-15

Android实现内存中数据保存到sdcard的方法

本文实例讲述了Android实现内存中数据保存到sdcard的方法。分享给大家供大家参考,具体如下:public static void writeToSdCard(String s) {try {File dst = new File("
2022-06-06

Android实现新增及编辑联系人的方法

本文实例介绍了Android开发中对联系人修改、新增联系人的方法,通过本实例代码可实现添加联系人、编辑修改联系人,新增联系人和更新联系人等操作,操作主要放在线程中处理,并且在操作的过程中,显示圆形进度条,在Android系统中,这是种比较常
2022-06-06

android将Bitmap对象保存到SD卡中的方法

本文实例讲述了android将Bitmap对象保存到SD卡中的方法。分享给大家供大家参考。具体如下:Bitmap logoBitmap = BitmapFactory.decodeResource(mcontext.getResources
2022-06-06

Android使用ContentResolver搜索手机通讯录的方法

本文实例讲述了Android使用ContentResolver搜索手机通讯录的方法。分享给大家供大家参考,具体如下: 在这个程序中使用ContentResolver来访问通讯录里联系人的关键字,并将所有找到的联系人存入CursorAdapt
2022-06-06

Android编程操作手机通讯录的方法示例

本文实例讲述了Android编程操作手机通讯录的方法。分享给大家供大家参考,具体如下:手机通讯录的操作是经常被用到的,例如添加联系人,删除联系人或者取得联系人信息。类似的操作还有收藏夹的操作,下面就针对通讯录的操作来做个小例子。同样的这次也
2023-05-30

android下载文件保存到本地的方法是什么

在Android中,可以使用以下代码将文件下载并保存到本地:1. 首先,需要在AndroidManifest.xml文件中添加以下权限:```xml```2. 然后,在代码中使用以下方法下载文件并保存到本地:```javaprivate v
2023-05-30

Android通讯录开发之删除功能的实现方法

无论是Android开发或者是其他移动平台的开发,ListView肯定是一个大咖,那么对ListView的操作肯定是不会少的,上一篇博客介绍了如何实现全选和反选的功能,本篇博客介绍删除功能,删除列表中的项无谓就是及时刷新列表,这又跟UI线程
2022-06-06

Android编程基于Contacts读取联系人的方法(附demo源码)

本文实例讲述了Android编程基于Contacts读取联系人的方法。分享给大家供大家参考,具体如下: Android Contacts简介: 这里介绍安卓通讯录数据库。包括Android使用Contacts访问SQLite的基本知识,并了
2022-06-06

Android编程操作联系人的方法(查询,获取,添加等)

本文实例讲述了Android编程操作联系人的方法。分享给大家供大家参考,具体如下: Android系统中的联系人也是通过ContentProvider来对外提供数据的,我们这里实现获取所有联系人、通过电话号码获取联系人、添加联系人、使用事务
2022-06-06

解决android手机导出的通讯录vcf文件乱码方法

要解决Android手机导出的通讯录vcf文件乱码的问题,可以尝试以下方法:1. 修改编码格式:打开vcf文件,使用文本编辑器(例如记事本)将文件的编码格式修改为UTF-8。保存文件后再次导入到手机中,看看是否乱码问题解决。2. 使用第三方
2023-09-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录