我想通过Android中的内容提供商在电话簿中添加数千个联系人。
我已经通过以下方式实现了添加联系人:
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
int rawContactID = ops.size();
// Adding insert operation to operations list
// to insert a new raw contact in the table ContactsContract.RawContacts
我正在开发一个应用程序,用意图创建联系人。为什么要使用意图,你会问:因为它是让用户修改他们想要的联系,然后注册。
我的问题是,当我将StructuredName或StructuredPostal,用于其他CommonDataKinds时,它运行得很好。这是我的密码:
ContentValues name = new ContentValues();
name.put(ContactsContract.Contacts.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
我看到了问答,但添加电话信息(甚至电子邮件)仍然不会导致联系信息正确聚合(当我检查People应用程序时,我可以看到同一名称下的多个条目)。
下面是我用来测试它的代码。
//get the account
Account acct = null;
Account[] accounts = AccountManager.get(getContext()).getAccounts();
for (Account acc : accounts){
acct = acc;
}//assuming there's only one account in there (in my cas
也许答案是微不足道的,但我想不出来。我正在尝试使用下面的代码添加联系人,但联系人列表中只有"contact_0“。你知道这段代码出了什么问题吗?
public void myMethod(){
for (int i = 0; i < 5; i++) {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation
我正在实现一个AutocompleteView来搜索电话号码。除了在某些情况下,代码运行得很好。
我的守则:
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] projection = new String[]{ContactsContract.CommonDataKinds.Phone._ID, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER,
在查询联系人数据时,我已经完成了大部分工作。我在为StructuredName和组织而战。它们对我不起作用。
如果你不介意,请看一下代码。它是手工制作的,并删除了许多错误检查,以使其尽可能小,以便在这里发布。带有“不工作”的评论是对我不起作用的部分。
前导的两个if()是onActivityResult的一部分,我在这里接收联系人选择结束时的数据。调用使用以下命令完成:
intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, Ma
我正在努力从用户配置文件中读出phone/numbers等。我有一些以前的代码来读取联系人,并通过修改内容uri使其与用户配置文件一起工作。这个名字起作用了:
正常联系人:
Uri uri = ContactsContract.RawContactsEntity.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.RawContactsEntity.CONTACT_ID,
ContactsContract.RawContactsEntity.MIME
我想在联系人列表中添加一些细节的新联系人。我想在这里添加姓名、联系电话和后缀名。我可以加上姓名和联系电话。但我不能添加后缀名。我不知道这是添加后缀名的正确代码。下面我已经给出了我的代码。
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int rawContactId = ops.size();
ops.add(ContentProviderOperation.newInsert(
Co
我认为在从Phone.CONTENT_URI中检索联系人时,Phone.CONTACT_ID列不可能为空。然而,我从我的用户那里收到了很多崩溃报告,比如下面这个: Caused by java.lang.IllegalStateException: activity.contentResolver…taKinds.Phone.CONTACT_ID) must not be null 可能是因为我是按CONTACT_ID对sql结果进行排序的,下面是示例代码 activity.contentResolver.query(ContactsContract.CommonDataKinds.Phon
我正在使用ContactsContract导出联系人到联系人应用程序。在其他设备上一切正常,但在Sony Xperia手机上,我无法保存输入到ArrayList<ContentValues> data中的数据。我的代码如下所示:
ArrayList<ContentValues> data = new ArrayList<ContentValues>();
//Add photo
if (userImageBitmap != null) {
ContentValues photoRow = new ContentValues(
我想使用内部联系人活动来创建新联系人。代码如下:
Intent i = new Intent();
i.setAction(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.fromParts("tel", "12345678", null));
i.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, t