Android ContactContracts 添加联系人的疑惑
来源:互联网 发布:excel求和数据不对 编辑:程序博客网 时间:2024/05/17 12:21
1.以下面的方式添加联系人,添加多条DISPLAY_NAME相同的联系人时,会合并显示成一条,并且在编辑的的时候会有异常。
ContentValues values=new ContentValues();
Uri uri=this.getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId=ContentUris.parseId(uri);
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.DISPLAY_NAME, "test");getContentResolver().insert(Data.CONTENT_URI, values);
2.四条DISPLAY_NAME为test的联系人,在Android2.2模拟的通讯录里显示成一条记录
3.编辑该条记录时,会出现以下异常
4.异常的详细信息如下:
5.用sqlite查看表contacts、raw_contacts、data的数据如下:
contacts表
raw_contacts表
data表
疑问:raw_contacts中的四条记录是如何合并成一条的?合并成一条后,为什么编辑时会出现以上的那些异常信息?
6.以官方例子ContactManager 所用的方式来添加联系人,则在通讯录中DISPLAY_NAME没有显示。
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.build());
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "test")
.build());
// Ask the Contact provider to create a new contact
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
// Log exception
Log.e(TAG, "Exceptoin encoutered while inserting contact: " + e);
}
对比官方ContactManager这个例子,它多了一下两句。
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, mSelectedAccount.getType())
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, mSelectedAccount.getName())
问题:Account与DISPLAY_NAME为空有什么关系?
- Android ContactContracts 添加联系人的疑惑
- Android 调用系统联系人界面的添加联系人,添加已有联系人,编辑和修改。
- 调用系统联系人的添加界面-android
- Android 联系人的读取,查询,添加
- Android 联系人的读取,查询,添加
- Android 联系人的读取查询添加
- Android 添加新的联系人代码
- Android 联系人的读取,查询,添加
- android,添加联系人
- android 添加联系人分组
- android通讯录 添加联系人
- Android-通讯录:添加联系人
- android联系人获取,添加
- Android 批量添加联系人
- Android添加@联系人功能
- android 短信下,添加联系人,进入联系人多选界面出现联系人电话号码晃动的问题
- 添加功能的实现--------疑惑????
- Android 使用ContentProvider 添加联系人
- KI码
- Usaco 1.5.2 回文质数(Prime Palindromes)
- 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
- 实现升序和降序,如输出123,321
- 高性能服务器架构
- Android ContactContracts 添加联系人的疑惑
- P2P技术与应用
- 软件维护
- 枚举 pc 上的串口设备
- C99 百度百科
- 内核中的likely()与unlikely()
- 数据库连接池的原理机制
- linux top命令使用
- C#为reporting services编写方法。Reporting Services 使用C#类库中的函数方法(转)