java - 使用已插入的一些字段打开 Android 的联系人 Activity

标签 java android

ArrayList<ContentValues> data = new ArrayList<ContentValues>();
ContentValues row1 = new ContentValues();
row1.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
row1.put(Organization.COMPANY, "Android");
data.add(row1);
ContentValues row2 = new ContentValues();
row2.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
row2.put(Email.TYPE, Email.TYPE_CUSTOM);
row2.put(Email.LABEL, "Green Bot");
row2.put(Email.ADDRESS, "android@android.com");
data.add(row2);
Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
intent.putParcelableArrayListExtra(Insert.DATA, data);
startActivity(intent);

我没找到 android.provider.ContactsContract.Intents.Insert.Data(在倒数第二条指令中使用) 插入类中没有数据变量,我使用的是 API-8 v2.2 请帮助他们还有其他方法吗? 我想像这样在添加联系人中填写数据。

最佳答案

如果您查看 ContactsContract.Intents.Insert 的 javadoc,您会看到一堆常量,例如 COMPANY、JOBTITLE 等。您应该使用它们来填充 Intent 的额外内容。如果您没有看到常量,请仅使用 DATA 键。文档对此并不清楚,但实际上人脉应用只接受 DATA 中的某些列值。

例如,而不是做

row.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE); row.put(Organization.COMPANY, "Android");

intent.putExtra(Intents.Insert.COMPANY, "Android");

这应该有效。

我不确定“插入类中没有数据变量”是什么意思。不应该有。 Insert.DATA 是一个常量,为 putExtra 命名一个键。

关于java - 使用已插入的一些字段打开 Android 的联系人 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547051/

相关文章:

java - 无法解码流: java. io.FileNotFoundException:

java - 将 lucene 或 solr 与 java derby DB 集成

java - flink - 使用 Dagger 注入(inject) - 不可序列化?

java - Maven - 如何对依赖于另一个项目的项目进行单元测试?

java - Android - 如何使适配器布局保持原位

Android: fragment 之间的 onActivityResult() 未按预期工作

android - 在android : javax. mail.messagingexception could not connect to smtp host异常中使用smtp从我们自己的域发送邮件

android - 列表数据更改时更新 Android ListActivity?

java - 如何将 JSTL 变量与 JSP id 连接起来?

android - 给 GCM 注册 ID 分配多少空间