db와 어플에 저장되기는 하는데
어플에 문자내용이 저장되고 나면
메세지 함에 내역은 사라져야 되는데 사라지지 않습니다...
어찌해야 사라질까요...
혹시몰라서 기종과 안드로이드 버전 올립니다.
갤럭시 노트3에 롤리팝 사용중입니다.
private void checkSMSConent(Context context, String phone){
ContentResolver cr = context.getContentResolver();
Cursor cursor = null;
Uri uri = Uri.parse("content://sms/inbox"); // 검색할 uri
cursor = cr.query(uri, null, "address = ?", new String[]{phone, }, null);
// 수집된 전화번호는 삭제 처리한다.
//cr.delete(uri, "address = ?", new String[]{phone, }) ;
SMS sms = null;
// 커서가 있으면 db에 저장한다.
if(cursor != null && cursor.moveToFirst()){
MyDB db = new MyDB(context);
do{
// 보낸 전화번호
String address = cursor.getString(cursor.getColumnIndex("address") );
// 내용
String body = cursor.getString(cursor.getColumnIndex("body") );
// 날짜밀리세컨드
long date = cursor.getLong(cursor.getColumnIndex("date") );
sms = new SMS();
sms.setContent(body);
sms.setDate(date);
sms.setSenderNumber(address);
if(db.insert(sms) > 0){ // 디비에 인서트
// 문자를 저장하였으면 해당 문자를의 pid 값을 얻은후에 pid을 이용해 삭제처리한다.
String pid = cursor.getString(0);
context.getContentResolver().delete(Uri.parse("content://sms/" + pid),null, null);
context.getContentResolver().delete(Uri.parse("content://sms/conversations/" + pid),null, null);
}
}while(cursor.moveToNext());
}
}
}
피드값을 얻어온뒤
context.getContentResolver().delete(Uri.parse("content://com.sec.mms.provider/message" + pid),null, null);
이걸 넣으면 오류나더군요... 어찌해야될까요...