本篇开始讲如何从Android中得到本机联系人的信息.由于Android较快的版本升级,部分API已经发生了变化.本篇探究的通过ContentProvider机制获取联系人的API从Android2.0开始做了很大调整,原来的android.provider.Contacts类及其下相关类由android.provider.ContactsContract代替.原类体系标记为Deprecated(废弃),因为兼容的原因目前还存在,但不保证以后的更新版本中完全丢弃. 所以本文先从Android2.…
代码分为两部分: Part One 将预置的联系人插入到数据库中: Part Two 保证预置联系人仅仅读,无法被编辑删除(在三个地方屏蔽对预置联系人进行编辑处理:联系人详情界面.联系人多选界面.新建联系人选择合并联系人时). [注意]假设您不须要限制预置联系人的删除/编辑操作,增加Part One部分代码就可以,并去掉第三步"新增函数"  中的语句:contactvalues.put(RawContacts.IS_SDN_CONTACT, -1);   Part One: File:…
android.provider.ContactsContract ContactsContract是联系人provider和app的contract.定义了已支持的URL和column.取代了之前的Contacts. Overview ContactsContract定义了有关联系人信息的可扩展的数据库.Contact信息保存为三层数据模型: 1. Data表保存了任何类型的个人数据.例如:电话号码.email地址等.存在Data表中的数据类型集是开放的(无限制的).提供了常用数据类型集.任何…
android.provider.ContactsContract.Contacts 对应contacts数据表.RawContacts的一个聚合(aggregate)代表同一个人.每个人在数据表contacts中有一个记录. Operations Insert Contact不能直接/显式创建.插入一个RawContact时,provider首先查找是否存在一个Contact表示同一个人.如果存在,provider将Contacts._ID赋值给RawContacts.CONTACT_ID.如…
android.provider.ContactsContract.RawContacts Constants for the raw contacts table, which contains one row of contact information for each person in each synced account. Sync adapters and contact management apps are the primary consumers of this API.…
android.provider.ContactsContract.Data Constants for the data table, which contains data points tied to a raw contact. Each row of the data table is typically used to store a single piece of contact information (such as a phone number) and its associ…
前面的文章已经实现相关的布局,本文接着进行相关的功能实现 本文地址:http://www.cnblogs.com/wuyudong/p/5951794.html,转载请注明出处. 读取系统联系人 当点击“选择联系人”按钮后,弹出联系人列表,读取系统联系人分如下几个步骤: 系统联系人提供了一个内容提供者,通过内容解析器,匹配Url地址 1,内容解析器 2,Url地址,查看系统联系人数据库,内容提供者源码 先看api文档的清单文件,后看java类(联系人数据库有多张表) contents://com…
添加AddressBook这个包:然后#import <AddressBook/AddressBook.h> //取得本地通信录名柄 ABAddressBookRef addressBook; if ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0){ addressBook = ABAddressBookCreateWithOptions(NULL, NULL); //等待同意后 向下执行 dispatch_sema…
Revit读取cad的文字信息需要借助Teigha的开源dll,在程序中添加下图中红色框的dll文件的引用,其他的dll文件全部放在同一个文件夹中即可,运行的时候,会自动把这些dll文件全部复制到bin文件当中,同时,在Revit中运行插件,Revit也会自动加载这些dll文件. 以下是关键方法,在Revit里读取cad文字信息,图层信息,几何信息等. using System; using System.Collections.Generic; using System.Linq; using…
- (IBAction)getAllContactFromSystem { ABAddressBookRef ab = ABAddressBookCreateWithOptions(NULL, NULL); ABAddressBookRequestAccessWithCompletion(ab, ^(bool granted, CFErrorRef error) { //取得通讯录访问授权 ABAuthorizationStatus authorization= ABAddressBookGet…