博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android更新联系人姓名、号码
阅读量:7118 次
发布时间:2019-06-28

本文共 2110 字,大约阅读时间需要 7 分钟。

private void updatePhoneInfo(String phoneName, String phoneNumber) {        //获取需要修改的联系人信息,该 Uri 信息是从其他 Activity 中传过来的,因此这里只是简单的获得        final Intent intent = getIntent();        Uri data = intent.getData();        final long contactId = ContentUris.parseId(data);                //查找联系人语句 SQL 中的 where selection 语句,通过 RAW_CONTACT_ID 选取需要修改的记录        final String nameSelection = StructuredName.RAW_CONTACT_ID + " = ? AND "                + Data.MIMETYPE + " = ?";        final String[] nameSelectionArgs = new String[] { String.valueOf(contactId),                StructuredName.CONTENT_ITEM_TYPE };        final String numberSelection = Phone.RAW_CONTACT_ID + " = ? AND "                + Data.MIMETYPE + " = ?";        final String[] numberSelectionArgs = new String[] {                String.valueOf(contactId), Phone.CONTENT_ITEM_TYPE };        //存储操作语句的容器        ArrayList
ops = new ArrayList
(); //ContentProviderOperation 提供了 SQL 的增(add)、删(delete)、改(update)的基本操作,只要设置好条件和修改语句就可以了 // update contact's name ContentProviderOperation.Builder builder = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI); builder.withSelection(nameSelection, nameSelectionArgs); builder.withValue(StructuredName.FAMILY_NAME, null); builder.withValue(StructuredName.DISPLAY_NAME, phoneName); ops.add(builder.build()); // update contact's phone number builder = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI); builder.withSelection(numberSelection, numberSelectionArgs); builder.withValue(Phone.NUMBER, phoneNumber); ops.add(builder.build()); try { //一次性应用上述修改操作 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); } catch (RemoteException e) { e.printStackTrace(); } catch (OperationApplicationException e) { e.printStackTrace(); } }

Contacts的增删查改的操作方法可以参考android的文档:

转载于:https://www.cnblogs.com/dotc/archive/2012/09/13/2683453.html

你可能感兴趣的文章
flask及扩展源码解读
查看>>
通俗易懂详解Java代理及代码实战
查看>>
需求工程的基本过程
查看>>
Android 版本对于 API
查看>>
Hadoop,MapReduce
查看>>
Kafka Streams简介: 让流处理变得更简单
查看>>
「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
查看>>
Django---ORM操作大全
查看>>
JAVA远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
查看>>
Python 将json字符串 进行列表化可循环
查看>>
Django Drops
查看>>
NLog自定义字段写入数据库表,示例
查看>>
SQL优化的思路及基本原则(mysql)
查看>>
data-toggle data-target
查看>>
bootstrap课程5 bootstrap中的组件使用的注意事项是什么
查看>>
vue - 自定义指令
查看>>
Jvm(20),如何定义为垃圾对象----引用计数法
查看>>
The Five Best Linux BitTorrent Clients
查看>>
LeetCode: Path Sum 解题报告
查看>>
Struts2之文件上传(单文件/多文件)
查看>>