2010-11-26 2 views
4

현재 데이터베이스 변경 내용을 보려면 content : // sms URI를 준수하는 앱을 작성했습니다. 내 관찰자는 개별 메시지가 추가되거나 제거 될 때 성공적으로 트리거되지만, 전체 스레드가 한 번에 삭제되면 알림이 트리거되지 않습니다. 이 이벤트를 트리거 할 수있는 방법이 있습니까? 아니면 내가 관찰해야하는 또 다른 콘텐츠 제공 업체가 있습니까? Android : 삭제 된 스레드에 대한 SMS 관찰

Uri URI = Uri.parse("content://sms"); 
String[] columns = {"_id", "date"}; 
Cursor c = getContentResolver().query(URI, columns, "type=?", new String[]{"1"}, "_id DESC"); 

Observer observer = new Observer(); 
c.registerContentObserver(observer); 

그리고 내 관찰자 클래스 :

private class Observer extends ContentObserver { 

    public Observer() { 
     super(null); 
    } 

    @Override 
    public void onChange(boolean selfChange) { 
     super.onChange(selfChange); 

     if (!selfChange) { 
      // do stuff 
      // never called when a thread is deleted 
     } 
    } 
} 
+0

업데이트 : 새 메시지가 들어올 때 필요한 ID를 다시 확인하는 것과 같이이 문제를 해결할 수있는 방법을 생각해 냈지만 아무 것도 성공을 입증하지 못했습니다. 내 관찰자는 스레드가 삭제 될 때 신호를 보내야합니다. 문제가 무엇인지 아는 사람이 있습니까? 아니면 삭제 된 스레드를들을 수있는 다른 방법이 있습니까? – mattprecious

+0

내 응용 프로그램에서 삭제 된 SMS를 알 수 있습니까 ?? 나는 그 내용을 의미합니다. 내가 그 삭제 된 메시지를 저장해야하기 때문에? 고마워 .... –

+0

내가 아는게 아니야. 데이터베이스를 관찰하면 메시지가 삭제 된 후에 만 ​​경고되므로 해당 정보를 쿼리 할 수 ​​없습니다. – mattprecious

답변

4

나는 내용을 관찰로 전환 : // MMS-SMS/대화 내용 제공합니다. 이 공급자는 스레드가 삭제 될 때 내 관찰자에게 적절하게 신호를 보냅니다.