2012-02-25 18 views
8

私はすべてのSMSを受信トレイから削除したいアプリケーションに取り組んでいます。 私は以下のコードを使用しています。アンドロイドでSMSを受信トレイからプログラムで削除するにはどうすればいいですか?

Uri uriSms = Uri.parse("content://sms/inbox"); 
Cursor c = getContentResolver().query(uriSms, null,null,null,null); 
int id = c.getInt(0); 
int thread_id = c.getInt(1); //get the thread_id 
getContentResolver().delete(Uri.parse("content://sms/conversations/" + thread_id),null,null); 

このコードは機能しません。 同じことをする方法はありますか?

+0

http://stackoverflow.com/questions/419184/how-to-delete-an-sms-from-the-inbox-in-android-ですプログラムによって –

答えて

6

削除uriが"content://sms/" + id;

Uri inboxUri = Uri.parse("content://sms/inbox"); 
int count = 0; 
Cursor c = context.getContentResolver().query(inboxUri , null, null, null, null); 
while (c.moveToNext()) { 
    try { 
     // Delete the SMS 
     String pid = c.getString(0); // Get id; 
     String uri = "content://sms/" + pid; 
     count = context.getContentResolver().delete(Uri.parse(uri), 
       null, null); 
    } catch (Exception e) { 
    } 
} 
return count; 
+0

これは単一messgeまたはconverstionのためのものですか? –

0
//delete all call logs 
Uri callLog = Uri.parse("content://call_log/calls"); 
int rs1 = getContentResolver().delete(callLog, null, null); 

//delete all sms 
Uri inboxUri = Uri.parse("content://sms/");  
int rs2 = getContentResolver().delete(inboxUri, Sms._ID + "!=?", new String[]{"0"}); 
関連する問題