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中找到它(在倒数第二条指令中使用)在Insert类中没有数据变量,我正在使用API-8 v2.2请帮助他们有其他方法可以做到这一点吗?我想像这样在add contact中填写数据。
发布于 2012-03-04 05:18:41
如果你看一下ContactsContract.Intents.Insert的javadoc,你会看到一堆常量,比如公司,工作头衔,等等。你应该用这些常量来填充你意图中的额外内容。只有在看不到常量的情况下才使用数据键。文档对此并不清楚,但实际上People应用程序只接受数据中的一些列值。
例如,而不是做
row.put(Data.MIMETYPE,Organization.CONTENT_ITEM_TYPE);row.put(Organization.COMPANY,“安卓”);
做
intent.putExtra(Intents.Insert.COMPANY,"Android");
这应该行得通。
我不确定你所说的“插入类中没有数据变量”是什么意思。不应该有的。Insert.DATA是为putExtra命名键的常量。
发布于 2012-04-08 16:22:26
您可能已经导入了Contacts.Intents.Insert。此类中没有数据。
您必须导入ContactsContract.Intents.Insert。
对于网站,尝试此代码,
ArrayList<ContentValues> data = new ArrayList<ContentValues>();
ContentValues row1 = new ContentValues();
row1.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE);
row1.put(Website.URL, "www.urwebsite.com");
row1.put(Website.LABEL, "abc");
row1.put(Website.TYPE, Website.TYPE_HOME);
data.add(row1);
Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
intent.putParcelableArrayListExtra(Insert.DATA, data);
startActivity(intent);https://stackoverflow.com/questions/9547051
复制相似问题