2012-02-25 13 views
8

Estoy trabajando en una aplicación en la que quiero eliminar todos los SMS de la bandeja de entrada. Para eso he usado el siguiente código.¿Cómo eliminar todos los sms de la bandeja de entrada mediante programación en android?

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); 

Este código no funciona. ¿Hay alguna manera de hacer lo mismo?

+0

http://stackoverflow.com/questions/419184/how-to-delete-an-sms-from-the-inbox-in-android- programáticamente –

Respuesta

6

El URI de eliminación es "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

esto es para un solo mensaje o una conversación? –

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"}); 
Cuestiones relacionadas