我想刪除短信。無法刪除短信
String URI = "content://sms/inbox";
Cursor cursor = getContentResolver().query(Uri.parse(URI), null,null, null, null);
String[] _id = new String[cursor.getCount()];
String[] thread_id = new String[cursor.getCount()];
if (cursor.moveToFirst()) {
for (int i = 0; i < cursor.getCount(); i++) {
try {
_id[i] = cursor.getString(cursor.getColumnIndexOrThrow("_id")).toString();
thread_id[i] = cursor.getString(cursor.getColumnIndexOrThrow("thread_id")).toString();
} catch (IllegalArgumentException e) {
Log.d(TAG, e.toString());
}
}
}
final String id = _id[0]; // for debugging deleting the first msg
final String tid = thread_id[0]; // for debugging deleting the first msg
((Button) findViewById(R.id.delete)).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "id="+id+",tid="+tid);
getContentResolver().delete(Uri.parse(URI),"_id=" + id + " and thread_id=" + tid,new String[] { String.valueOf(id),String.valueOf(tid) });
Toast.makeText(getApplicationContext(), "SMS DELETED. RESTARTING ACTIVITY", Toast.LENGTH_LONG);
Intent i = getApplicationContext().getPackageManager().getLaunchIntentForPackage(getApplicationContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
});
它拋出一個異常:在刪除刪除
10-06 00:48:43.234: E/AndroidRuntime(27912): FATAL EXCEPTION: main
10-06 00:48:43.234: E/AndroidRuntime(27912): java.lang.IllegalArgumentException: Unknown URL
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:144)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.content.ContentProviderProxy.delete(ContentProviderNative.java:483)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.content.ContentResolver.delete(ContentResolver.java:675)
10-06 00:48:43.234: E/AndroidRuntime(27912): at com.example.detector.MainActivity$1.onClick(MainActivity.java:85)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.view.View.performClick(View.java:2408)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.view.View$PerformClick.run(View.java:8816)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.os.Handler.handleCallback(Handler.java:587)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.os.Handler.dispatchMessage(Handler.java:92)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.os.Looper.loop(Looper.java:123)
10-06 00:48:43.234: E/AndroidRuntime(27912): at android.app.ActivityThread.main(ActivityThread.java:4633)
10-06 00:48:43.234: E/AndroidRuntime(27912): at java.lang.reflect.Method.invokeNative(Native Method)
10-06 00:48:43.234: E/AndroidRuntime(27912): at java.lang.reflect.Method.invoke(Method.java:521)
10-06 00:48:43.234: E/AndroidRuntime(27912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
10-06 00:48:43.234: E/AndroidRuntime(27912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
10-06 00:48:43.234: E/AndroidRuntime(27912): at dalvik.system.NativeStart.main(Native Method)
拋出異常。我有以下我的清單:
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS"/>
我試圖改變的URL content://sms
爲刪除。不工作。給出以下例外:
10-06 01:59:57.602: E/AndroidRuntime(29381): android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x6cfa38
10-06 01:59:57.602: E/AndroidRuntime(29381): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)
10-06 01:59:57.602: E/AndroidRuntime(29381): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
10-06 01:59:57.602: E/AndroidRuntime(29381): at android.content.ContentProviderProxy.delete(ContentProviderNative.java:483)
10-06 01:59:57.602: E/AndroidRuntime(29381): at android.content.ContentResolver.delete(ContentResolver.java:675)
10-06 01:59:57.602: E/AndroidRuntime(29381): at com.example.detector.MainActivity$1.onClick(MainActivity.java:85)
有人可以看看這個,並告訴問題是什麼?
哪個版本的Android使用你的代碼? –