I am writing a demo app in which I want to bootstrap the contacts database each time I run my app. I have successfully managed to insert contacts into the people, phones, and contact_methods tables. I want to delete all rows in each of these tables. I want to do it through the content resolver as it is a full delete.
Here is my method: private void deleteAllContacts(ContentResolver contentResolver) { contentResolver.delete(Contacts.People.CONTENT_URI, null, null); contentResolver.delete(Contacts.Phones.CONTENT_URI, null, null); contentResolver.delete(Contacts.ContactMethods.CONTENT_URI, null, null); } The rows in the people table get properly deleted (my app has the proper uses permissions setup). However I am getting an error on the deletes for the Phones and Contact methods. What am I doing wrong here? Do I have to loop through each person to delete their related info? The log trace: -------------------------------------------------------------------- ERROR/DatabaseContentProvider(544): java.lang.UnsupportedOperationException: Cannot delete that URL: content://contacts/phones ERROR/DatabaseContentProvider(544): at com.google.android.providers.contacts.ContactsProvider.deleteInternal(ContactsProvider.java: 795) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider $4.call(DatabaseContentProvider.java:467) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider $4.call(DatabaseContentProvider.java:463) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider.lockAndCall(DatabaseContentProvider.java: 400) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider.delete(DatabaseContentProvider.java: 470) ERROR/DatabaseContentProvider(544): at android.content.ContentProvider$Transport.delete(ContentProvider.java: 174) ERROR/DatabaseContentProvider(544): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java: 140) ERROR/DatabaseContentProvider(544): at android.os.Binder.execTransact(Binder.java:274) ERROR/DatabaseContentProvider(544): at android.dalvik.NativeStart.run(Native Method) DEBUG/dalvikvm(544): Exception Landroid/database/SQLException; from Parcel.java:891 not caught locally ERROR/JavaBinder(544): *** Uncaught remote exception! (Exceptions are not yet supported across processes.) ERROR/JavaBinder(544): android.database.SQLException: transaction was rolled back ERROR/JavaBinder(544): at android.content.DatabaseContentProvider.releaseDbLock(DatabaseContentProvider.java: 367) ERROR/JavaBinder(544): at android.content.DatabaseContentProvider.lockAndCall(DatabaseContentProvider.java: 414) ERROR/JavaBinder(544): at android.content.DatabaseContentProvider.delete(DatabaseContentProvider.java: 470) ERROR/JavaBinder(544): at android.content.ContentProvider $Transport.delete(ContentProvider.java:174) ERROR/JavaBinder(544): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java: 140) ERROR/JavaBinder(544): at android.os.Binder.execTransact(Binder.java:274) ERROR/JavaBinder(544): at android.dalvik.NativeStart.run(Native Method) ERROR/DatabaseContentProvider(544): caught RuntimeException ERROR/DatabaseContentProvider(544): java.lang.UnsupportedOperationException: Cannot delete that URL: content://contacts/contact_methods ERROR/DatabaseContentProvider(544): at com.google.android.providers.contacts.ContactsProvider.deleteInternal(ContactsProvider.java: 795) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider $4.call(DatabaseContentProvider.java:467) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider $4.call(DatabaseContentProvider.java:463) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider.lockAndCall(DatabaseContentProvider.java: 400) ERROR/DatabaseContentProvider(544): at android.content.DatabaseContentProvider.delete(DatabaseContentProvider.java: 470) ERROR/DatabaseContentProvider(544): at android.content.ContentProvider$Transport.delete(ContentProvider.java: 174) ERROR/DatabaseContentProvider(544): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java: 140) ERROR/DatabaseContentProvider(544): at android.os.Binder.execTransact(Binder.java:274) ERROR/DatabaseContentProvider(544): at android.dalvik.NativeStart.run(Native Method) DEBUG/dalvikvm(544): Exception Landroid/database/SQLException; from Parcel.java:891 not caught locally ERROR/JavaBinder(544): *** Uncaught remote exception! (Exceptions are not yet supported across processes.) ERROR/JavaBinder(544): android.database.SQLException: transaction was rolled back ERROR/JavaBinder(544): at android.content.DatabaseContentProvider.releaseDbLock(DatabaseContentProvider.java: 367) ERROR/JavaBinder(544): at android.content.DatabaseContentProvider.lockAndCall(DatabaseContentProvider.java: 414) ERROR/JavaBinder(544): at android.content.DatabaseContentProvider.delete(DatabaseContentProvider.java: 470) ERROR/JavaBinder(544): at android.content.ContentProvider $Transport.delete(ContentProvider.java:174) ERROR/JavaBinder(544): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java: 140) ERROR/JavaBinder(544): at android.os.Binder.execTransact(Binder.java:274) ERROR/JavaBinder(544): at android.dalvik.NativeStart.run(Native Method) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new M5 SDK! http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---