删除短信时的例外情况。 Android的

时间:2012-02-06 07:09:59

标签: android sqlite

当我从Android系统删除短信时,使用以下代码:

context.getContentResolver().delete(
                            Uri.parse("content://sms/"), "_id=?",
                            new String[] { String.valueOf(_id) });

有时,它会弹出这个异常,而且......我不知道这是怎么回事。这是系统的Sqlite模块的问题吗?

android.database.sqlite.SQLiteException: near "(": syntax error: , while compiling: SELECT _id FROM threads WHERE _id IN (SELECT DISTINCT thread_id FROM sms UNION SELECT DISTINCT thread_id FROM pduWHERE (_id=?))
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
at android.content.ContentProviderProxy.delete(ContentProviderNative.java:487)
at android.content.ContentResolver.delete(ContentResolver.java:692)
at com.comodo.a.e.l.onChange(Unknown Source)
at android.database.ContentObserver$NotificationRunnable.run(ContentObserver.java:43)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3686)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)

1 个答案:

答案 0 :(得分:1)

 String WHERE =""; //any criteria or where condition
 String pid = cursor.getString(0); // Get id;
 String uri = "content://sms/" + pid;
 context.getContentResolver().delete(Uri.parse(uri),  WHERE, null);

使用此代码,您可以根据任何条件删除短信....