PDA

Ver la Versión Completa : [ CONSULTA ] Eliminar SMS de forma automatica


c2alvaro
03/05/17, 14:46:00
Saludos, quiero eliminar mensajes SMS por medio de codigo, tengo un botón <Eliminar> donde primero recorro todos los mensajes y comparo si el SMS es del número que quiero eliminar para obtener su id, luego procedo a eliminar pero siempre me devuelve cero (0) no elimina, estoy ejecutado la aplicación en la API 22 5.1.1 espero sus comentarios gracias.

Nota: ya intente usando el thread_id, tambien ya intente con getString(), getLong()

xBtnEliminar.setOnClickListener(new View.OnClickListener() {
override
public void onClick(View v) {
xTxtCampo.setText("");
int row = 0;
String numeroBorrar="04263135816";
Uri uri = Uri.parse("content://sms/");
String[] projeccion = new String[] {"_id","thread_id","address"};
Cursor c = getContentResolver().query(
uri, projeccion, null, null, null);
while(c.moveToNext()){
String numero=c.getString(2);
if (numero.equals(numeroBorrar)){
Uri uri2 = Uri.parse("content://sms/"+c.getInt(0));
row = getContentResolver().delete(uri2,null,null);
mRowsDeleted = mRowsDeleted + row;
}
}
c.close();
xTxtCampo.setText("Delete: " + mRowsDeleted);
}
});
}

kriogeN
04/05/17, 00:06:31
Recuerda que para poder eliminar un SMS necesitas el permiso de WRITE_SMS, supongo que ya lo tendrás.

Pero además a partir de KitKat sólo podrás hacerlo si la aplicación está marcada como la aplicación de SMS por defecto. Como tu target es Lollipop asegúrate de esto último.

c2alvaro
04/05/17, 15:12:01
Recuerda que para poder eliminar un SMS necesitas el permiso de WRITE_SMS, supongo que ya lo tendrás.

Pero además a partir de KitKat sólo podrás hacerlo si la aplicación está marcada como la aplicación de SMS por defecto. Como tu target es Lollipop asegúrate de esto último.

Gracias amigo Kriogen, efectivamente tengo el permiso WRITE_SMS y corro la aplicación es en el emulador con Lollipop y me imagino que solo hay una sola app para SMS y es la predertimada en el emulador