使用 Android SDK > 5,我正在通过启动 ACTION_INSERT 活动来创建联系人。 我想使用以下代码为联系人添加多个电话号码(工作、家庭等):
Intent newIntent = new Intent(Intent.ACTION_INSERT,
ContactsContract.Contacts.CONTENT_URI);
for(ContactInfo.Phone p : phones)
{
newIntent.putExtra(ContactsContract.Intents.Insert.PHONE, p.number);
newIntent.putExtra(ContactsContract.Intents.Insert.PHONE_ISPRIMARY, p.isPrimary ? new Integer(1) : null);
newIntent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, unconvertPhoneType(p.type));
}
(unconvertPhoneType() 是一个函数,用于获取类型作为 CommonDataKinds.Phone.TYPE_XXX)
我只有一个联系人示例被插入了。上面的代码有什么问题吗?
此外,在 LogCat 日志中,我还遇到了以下错误:
12-14 11:09:03.015: WARN/Bundle(1724): Key phone_type expected String but value was a java.lang.Integer. The default value was returned.
看起来像是 PHONE_TYPE 的问题,但是 CommonDataKinds.Phone.TYPE_XXX 是整数类型,所以我不确定......这是什么原因呢?
谢谢!