创建插入意图的代码如下NPE
final Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION);
intent.setType(ContactsContract.RawContacts.CONTENT_TYPE);
intent.putExtra(ContactsContract.Intents.Insert.NAME, "some name");
final ArrayList<ContentValues> contactData = ...; // Populate array list here
intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, contactData);
有上的Galaxy Nexus的Nexus 4的Nexus运行这段代码没有问题7,10的Nexus但在HTC一号人物应用程序崩溃,深藏在HTC定制代码:
06-30 13:34:57.589: E/AndroidRuntime(27942): Caused by: java.lang.NullPointerException
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.model.EntityModifier.getEntryCountByType(EntityModifier.java:1056)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.model.EntityModifier.isTypeAllowed(EntityModifier.java:1047)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.model.EntityModifier.adjustType(EntityModifier.java:1003)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.model.EntityModifier.parseValues(EntityModifier.java:942)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.model.EntityModifier.parseExtras(EntityModifier.java:691)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.ui.EditContactActivity2$AddContactTask.selectAccount(EditContactActivity2.java:5014)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.ui.EditContactActivity2$AddContactTask.selectAccount(EditContactActivity2.java:4978)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.ui.EditContactActivity2$AddContactTask.doInBackground(EditContactActivity2.java:4479)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.ui.EditContactActivity2$AddContactTask.doInBackground(EditContactActivity2.java:4391)
06-30 13:34:57.589: E/AndroidRuntime(27942): at com.android.htccontacts.util.WeakAsyncTask.doInBackground(WeakAsyncTask.java:45)
06-30 13:34:57.589: E/AndroidRuntime(27942): at android.os.AsyncTask$2.call(AsyncTask.java:264)
06-30 13:34:57.589: E/AndroidRuntime(27942): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
当我在崩溃后的应用程序打开的人,所有插入的信息是存在的。所有字段都是正确的,它们的类型也是正确的。除了在保存新联系人之前不允许用户编辑信息之外,看到崩溃令人讨厌。
我见过this response,只是我的问题看起来不一样:我总是为每条记录传递记录类型。在崩溃后,我可以看到我在People应用中传递的类型。
如果有人知道如何处理这个错误EntityModifier.getEntryCountByType()
,请分享您的经验?