@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
if (msgs[i].getOriginatingAddress().equals(
SmsModuleActivity.number))
deleteMessage(context, msgs[i]);
}
}
}
private void deleteMessage(Context context, SmsMessage msg) {
Uri deleteUri = Uri.parse("content://sms/inbox/");
Cursor c = context.getContentResolver().query(deleteUri, null, null,
null, null);
while (c.moveToNext()) {
try {
String pid = c.getString(0);
String uri = "content://sms/inbox/" + pid;
ContentValues values = new ContentValues();
values.put("read", true);
context.getContentResolver().update(Uri.parse(uri), values,
null, null);
context.getContentResolver().delete(Uri.parse(uri), null, null);
} catch (Exception e) {
e.printStackTrace();
}
}
수신 메일이 제거되지 않습니다. 이 번호에서 SMS를 받으면이 발신자의 오래된 SMS 만 삭제하지만 새 메시지는 삭제하지 않습니다. 받은 편지함과 돈에 도달수신 SMS 제거
int id = cursor.getInt(cursor.getColumnIndex("_id"));
getContentResolver().delete(Uri.parse("content://sms/"), "_id="+id, null);
아니요, 새 수신 SMS를 삭제해야하지만 제거되지 않았습니다. 이 숫자에서 오래된 SMS 만 제거합니다. – user1021984
첫 번째 게시물과 같은 효과가 나타납니다. – user1021984