2013-08-31 46 views
1

刪除短信,您好我正在開發一個Android的短信應用在那裏我使用下面的代碼刪除基於_id消息:從收件箱中

getContentResolver().delete(Uri.parse("content://sms/" + id),"address=? and date=?",null); 

這在某些手機上正常工作。但在三星手機上,最舊的消息正在被刪除。我不希望這種情況發生。我想要刪除特定的短信。我該怎麼做。 請幫助。謝謝!

回答

2

您可以使用此:

private int deleteMessage(Context context, SmsMessage msg) { 
Uri deleteUri = Uri.parse("content://sms"); 
int count = 0; 
Cursor c = context.getContentResolver().query(deleteUri, 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; 
} 

,或者您可以使用此:

getContentResolver().delete(Uri.parse("content://sms/conversations/" + pid), null, null); 

你應該檢查這一點:

if(cursor.getCount>0){ 
    getContentResolver().delete(Uri.parse("content://sms/conversations/" + pid), null, null); 
} 
+0

這會刪除應用程序中的所有消息。我想刪除基於ID的特定消息。 – sanjana

+0

您必須在刪除留言功能中通過特定短信的位置。 – Piyush

+0

試過!不工作。 – sanjana