Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android写联系人_Android_Android Contacts - Fatal编程技术网

Android写联系人

Android写联系人,android,android-contacts,Android,Android Contacts,可能重复: 如何向联系人添加姓名? 我有两个微调器,一个用于firstname,另一个用于lastname。分配的变量是linkname1和linkname2。当用户按下OK按钮(这些按钮都在一个对话框中)时,姓名(linkname1+“”+linkname2)应添加到联系人中。我可以读联系人,但如何写 谢谢 更新: 我也试过: newname = linkname1 + " " + linkname2; ContentValues values = new ContentValues();

可能重复:

如何向联系人添加姓名? 我有两个微调器,一个用于firstname,另一个用于lastname。分配的变量是linkname1和linkname2。当用户按下OK按钮(这些按钮都在一个对话框中)时,姓名(linkname1+“”+linkname2)应添加到联系人中。我可以读联系人,但如何写

谢谢

更新: 我也试过:

newname = linkname1 + " " + linkname2;
ContentValues values = new ContentValues();
vales.put(ContactsContract.Contacts.DISPLAY_NAME, newname);
这是:

StringBuffer strBuf = new StringBuffer();
strBuf.append(linkname1);
strBuf.append(" ");
strBuf.append(linkname2);
ContentValues values = new ContentValues();
values.put(ContactsContract.Contacts.DISPLAY_NAME, strBuf.toString());
但新姓名未出现在联系人列表中。

Android操作系统(创建新联系人):


请务必查看注释中的代码编辑,这可能有助于修复,具体取决于版本。

在2.2中,内容提供商虽然仍然可以工作,但已被联系人合同取代。以下代码将用于新联系人合同提供商:

ArrayList<ContentProviderOperation> ops =
          new ArrayList<ContentProviderOperation>();
 ...
 int rawContactInsertIndex = ops.size();
 ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
          .withValue(RawContacts.ACCOUNT_TYPE, accountType)
          .withValue(RawContacts.ACCOUNT_NAME, accountName)
          .build());

 ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
          .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
          .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
          .withValue(StructuredName.GIVEN_NAME, linkname1)
          .withValue(StructuredName.FAMILY_NAME, linkname2)
          .build());

 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
arraylistops=
新的ArrayList();
...
int rawContactInsertIndex=ops.size();
添加(ContentProviderOperation.newInsert(RawContacts.CONTENT\uURI)
.withValue(RawContacts.ACCOUNT\u类型,accountType)
.withValue(RawContacts.ACCOUNT\u名称、accountName)
.build());
add(ContentProviderOperation.newInsert(Data.CONTENT\u URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,RAW contactInsertIndex)
.withValue(Data.MIMETYPE、StructuredName.CONTENT\u ITEM\u TYPE)
.withValue(StructuredName.GIVEN_NAME,linkname1)
.withValue(StructuredName.FAMILY\u NAME,linkname2)
.build());
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);

必须从服务中查询的帐户名和类型。通过选择帐户(如本地或谷歌)或提示用户。

我已经尝试过了。评论中的那个也一样。“人员无法解析或不是字段”