Quiero eliminar algunos SMS de forma automática en mi aplicación de Android. Por lo tanto, tengo un método que hace exactamente lo que quiero que haga. Sin embargo, solo funciona si despliegue la aplicación directamente en mi teléfono desde Eclipse. Luego elimina los SMS entrantes. Sin embargo, no funciona si la aplicación se descarga del mercado. Pero tampoco hay ningún error. ¿Alguien sabe cómo puedo solucionar esto o solo funciona en dispositivos rooteados?Supresión de SMS de Android programáticamente
public void deleteSMS(Context context, String message, String number) {
try {
mLogger.logInfo("Deleting SMS from inbox");
Uri uriSms = Uri.parse("content://sms/inbox");
Cursor c = context.getContentResolver().query(uriSms,
new String[] { "_id", "thread_id", "address",
"person", "date", "body" }, null, null, null);
if (c != null && c.moveToFirst()) {
do {
long id = c.getLong(0);
long threadId = c.getLong(1);
String address = c.getString(2);
String body = c.getString(5);
if (message.equals(body) && address.equals(number)) {
mLogger.logInfo("Deleting SMS with id: " + threadId);
context.getContentResolver().delete(
Uri.parse("content://sms/" + id), null, null);
}
} while (c.moveToNext());
}
} catch (Exception e) {
mLogger.logError("Could not delete SMS from inbox: " + e.getMessage());
}
}
posible duplicado de [¿Cómo eliminar un SMS de la bandeja de entrada en Android mediante programación?] (Http://stackoverflow.com/questions/419184/how-to-delete-an-sms-from-the-inbox-in -android-programmatically) –
@Marclin ambas preguntas son diferentes. En esta pregunta, se borra geeting SMS si se implementa directamente desde eclipse pero no desde Markrt place –
@SunilKumarSahoo: Tiene razón. El código funciona perfectamente, pero solo si el dispositivo está conectado a la PC, no si se descargó del mercado y estoy tratando de entender por qué. – Florian