Android保存联系人到通讯录的方法
短信预约 -IT技能 免费直播动态提醒
上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存的联系人数据。
因为是一个工具类,所以我这里就只给一个方法了,也是很简单,但是写的没有读取联系人的数据那么多,要保存更多其实看下如何读取的就会了。
直接上源码:
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
2024-04-02
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实现一个多对一的通讯录,实现
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
2024-04-02
解决android手机导出的通讯录vcf文件乱码方法
要解决Android手机导出的通讯录vcf文件乱码的问题,可以尝试以下方法:1. 修改编码格式:打开vcf文件,使用文本编辑器(例如记事本)将文件的编码格式修改为UTF-8。保存文件后再次导入到手机中,看看是否乱码问题解决。2. 使用第三方
2023-09-08
编程热搜
Python 学习之路 - Python
一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-chatgpt的中文全称是什么
chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列C/C++可变参数的使用
可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃Python 3 教程
Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 PythonPython pip包管理
一、前言 在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install 和 pip , 目前官方推荐使用 pip。
编程资源站
- 资料下载
- 历年试题