Я хочу удалить некоторые определенные SMS автоматически в моем приложении Android. Поэтому у меня есть метод, который делает именно то, что я хочу. Тем не менее, это работает, только если я разверну приложение прямо на свой телефон из Eclipse. Затем он удаляет входящие SMS. Однако это не работает, если приложение загружено с маркета. Но здесь также нет ошибки. Кто-нибудь знает, как я могу решить эту проблему или это работает только на рутованных устройствах?
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());
}
}