마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

webview의 쿠키가 안지워집니다.

0 추천

자바 안드로이드 모두 초보입니다.

저희가 개발중인  webview 기반의 앱에서 앱 종료시 다음과 같이 세션과 프로세스를 모두 정지 하도록 설정하였습니다.


    protected void onDestroy() {
        super.onDestroy();
        
        //종료시 쿠키삭제
        CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this); //
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);//
        cookieManager.removeAllCookie();
        cookieManager.removeSessionCookie();
        cookieSyncManager.sync();//
        
       //종료시 프로세스삭제
        System.exit(0);
    }

 

System.exit(0); 로 프로세스를 강제 종료하는 이유는 킷캣 업로드문제때문에 키캣만 업로드를 따로 구현했는데 플세스를 종료안하면 다시 앱을 열면 업로드가 먹통이 되는 현상때문이었습니다. (아래 링크 이분과 같은 증상)

http://m.phpschool.com/m/bbs/board.php?bo_table=qna_ttrend&wr_id=6471

근데 문제는 킷캣은 해결했는데 쿠키가 안지워지는 문제가 발생했습니다.

아무래도 CookieSyncManager 종료전에 System.exit(0); 이 먼저 프로세스를 강제 종료해서 그런 것 같은데요.

CookieSyncManager 종료 후에 System.exit(0); 이 실행되게 할수있는 방법이 있을까요?

아니면 다른 좋은 방법이라도 있을지요.

조언을 구합니다. 간절히..ㅜㅜ

무늬만개발자 (150 포인트) 님이 2015년 8월 10일 질문
무늬만개발자님이 2015년 8월 10일 수정

1개의 답변

+1 추천
쿠키를 지우는 동작 을 한 후 
별도  Thread에서  종료 하는 방식이 가능은 할 듯 한데. 
 
handler.postDelayed(new Runnable() {
 
@Override
public void run() {
 System.exit(0);
}
}, 적당한 시간);
 
 
System.exit를 안 쓰는게  베스트일 듯 합니다.
 
억지 끼워 맞추기 코드를 넣으면, 나중에 다른곳에서 또 에러가 나면, 대응이 어렵습니다.
 
 
프로젝트 일정이 너무 급해 어쩔 수 없는 경우가 있긴 하지만.
가급적 문제가 되는 부분을 찾아 수정하는 방식으로  코딩을 하셔야. 나중에 유지 보수가 편하실거예요..
 
아래 URL을 참조하셔서,  원래 오류가 나는 문제를 수정 하시는 방향으로 개발하시는것을 권장합니다. 
 
 

 

익명사용자 님이 2015년 8월 10일 답변
감사합니다. 덕분에 한숨 돌립니다.ㅠㅠ
최대한 안쓰는쪽으도 고민해보겠습니다.
...