2012-05-11 2 views

답변

1

내가 생각할 수있는 가장 좋은 점은 SMS/MMS 콘텐츠 제공자 (나는 그것이 content://mms-sms라고 생각한다)에 ContentObserver을 등록 할 수 있으며 변경이 발생할 때마다 콜백을받을 수 있다는 것입니다. ContentProvider을 스캔하여 현재 상태를 저장해야하며 변경 사항이있을 때마다 ContentProvider을 검색하여 변경된 사항을 찾아야합니다. 미리 패키지 된 방법으로 사용자가 특정 메시지.

2

단순히

try { 
     Uri uriSms = Uri.parse("content://sms/inbox"); 
     Cursor c = context.getContentResolver().query(
       uriSms, 
       new String[] { "_id", "thread_id", "address", "person", 
         "date", "body" }, "read=0", 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); 
       String date = c.getString(3); 
       if (message.equals(body) && address.equals(number)) { 
        // mLogger.logInfo("Deleting SMS with id: " + threadId); 
        context.getContentResolver().delete(
          Uri.parse("content://sms/" + id), "date=?", 
          new String[] { <your date>}); 
        Log.e("log>>>", "Delete success........."); 
       } 
      } while (c.moveToNext()); 
     } 
    } catch (Exception e) { 
     Log.e("log>>>", e.toString()); 
    } 
+1

이 질문에 대답하지 않습니다이 코드를 사용합니다. 문제는 삭제가 발생했는지 감지하는 방법을 묻는 것입니다. 삭제하는 방법이 아닙니다. – KVISH

관련 문제