change the order of the three delete methods and try it again.
On 4月5日, 上午3时04分, NikB <[EMAIL PROTECTED]> wrote:
> 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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---