作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
代码:
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();
// Create raw contact
Builder builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
builder.withValue(RawContacts.ACCOUNT_NAME, "testaccount");
builder.withValue(RawContacts.ACCOUNT_TYPE, "nl.my.project.account");
builder.withValue(RawContacts.SYNC1, "username");
operationList.add(builder.build());
builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
builder.withValueBackReference(ContactsContract.CommonDataKinds.StructuredName.RAW_CONTACT_ID, 0);
builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
builder.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "name");
operationList.add(builder.build());
builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);
builder.withValue(ContactsContract.Data.MIMETYPE, "vnd.android.cursor.item/vnd.nl.my.project.profile");
builder.withValue(ContactsContract.Data.DATA1, "username");
builder.withValue(ContactsContract.Data.DATA2, "Profile");
builder.withValue(ContactsContract.Data.DATA3, "View profile");
operationList.add(builder.build());
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, operationList);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
联系人.xml:
<ContactsSource xmlns:android="http://schemas.android.com/apk/res/android">
<ContactsDataKind
android:icon="@drawable/icon"
android:mimeType="vnd.android.cursor.item/vnd.nl.my.project.profile"
android:summaryColumn="data2"
android:detailColumn="data3"
android:detailSocialSummary="true" />
</ContactsSource>
日志:
09-23 09:09:23.981: ERROR/DatabaseUtils(223): Writing exception to parcel
09-23 09:09:23.981: ERROR/DatabaseUtils(223): java.lang.NullPointerException
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at com.android.providers.contacts.ContactsProvider2.insertData(ContactsProvider2.java:2574)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at com.android.providers.contacts.ContactsProvider2.insertInTransaction(ContactsProvider2.java:2422)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at com.android.providers.contacts.SQLiteContentProvider.insert(SQLiteContentProvider.java:106)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at com.android.providers.contacts.ContactsProvider2.insert(ContactsProvider2.java:2238)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:214)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at com.android.providers.contacts.SQLiteContentProvider.applyBatch(SQLiteContentProvider.java:216)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at com.android.providers.contacts.ContactsProvider2.applyBatch(ContactsProvider2.java:2272)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:193)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:173)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at android.os.Binder.execTransact(Binder.java:288)
09-23 09:09:23.981: ERROR/DatabaseUtils(223): at dalvik.system.NativeStart.run(Native Method)
最佳答案
改变:
Builder builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
收件人:
Builder builder = ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI);
似乎修复了 NullPointerException。
关于android - CustomContact 插入时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7526743/
代码: ArrayList operationList = new ArrayList(); // Create raw contact Builder
我是一名优秀的程序员,十分优秀!