使用 API 我试图创建一个联系人,使用 API 2.x 而不是旧的。这里http://developer.android.com/guide/topics/providers/content-providers.html它只解释了旧的 API。我还没有找到任何合适的教程、示例等来展示如何创建联系人。据我所知,我必须创建一个原始联系人,在原始联系人下,我从那里找到了http://developer.android.com/reference/android/provider/ContactsContract.RawContacts.html我试过了
ContentValues values = new ContentValues();
values.put(RawContacts.ACCOUNT_TYPE, accountType); //accountType = "xxxx"
values.put(RawContacts.ACCOUNT_NAME, accountName); //accountName = "aaaa"
Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.DISPLAY_NAME, "Mike Sullivan");
getContentResolver().insert(Data.CONTENT_URI, values);
最后一行代码显示“Data.CONTENT_URI”无法解析。看起来这行代码是针对 1.6 API 的,我把 Data.CONTENT_URI 改成了 ContactsContract.Data.CONTENT_URI。至少代码可以编译并执行,但之后我的地址簿中仍然没有联系人 Mike Sullivan。我现在也用“ContactsContract.Data”交换了其他“数据”,但仍然没有变化。
有没有人简单的例子如何在 2.x 的地址簿中创建一个人?
编辑:我取得了一些进展,看起来我总是需要手机上的帐户来添加联系人。我的手机有帐户类型 com.google 和帐户名称 xxxxx@gmail.com。模拟器什么都没有。我想知道我必须将我的联系人添加到哪个帐户?我可以假设我总是只有一个 gmail 帐户并使用这个帐户吗?