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

모바일 cookie 관련 질문입니다

0 추천
안녕하세요

요즘 날씨가 쌀쌀하네요..

 

웹앱 형식입니다.

모바일에서 login 할 경우에 질문입니다.

input text -> id

input password -> password

체크박스[자동로그인]

 

id와 password를 입력하고 자동로그인을 체크 하고 Login을 했을 경우에

메인 페이지로 이동하며 쿠키에 값이 남게 됩니다

ex)

id -> 123

password -> 111

 

앱 - setting .. webview.getSettings().setSavePassword(false)

 

반대로 id와 password를 입력하고 자동로그인 체크를 하지 않고 Login 했을 경우에

메인 페이지로 이동하며 쿠키에 값이 남게 되지만 빈값으로 남게 됩니다

ex)

id ->

password ->

 

이렇게해서 맨 처음 스크립트에서 불러올 때

아이디와 비번이 있는 경우에 자동로그인을 시켜줄려고 했는데요

 

로그인을 할 때

안드로이드 같은 경우

앱을 종료하고 다시 들어오면 쿠키값 까지 지워지는 것 같습니다.

그래서 alert창으로 쿠키값을 뛰어봤는데 값이 null이 뜨더라구요...

 

System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());

 

앱에서 종료되는 부분입니다.

 

혹시 쿠키값을 가져오게 하실 수 있는 방법좀 가르쳐주세요
안드로이드초보자 (280 포인트) 님이 2013년 4월 12일 질문
안드로이드초보자님이 2013년 4월 12일 수정

1개의 답변

0 추천

android.webkit.CookieSyncManager
 

 

To use the CookieSyncManager, the host application has to call the following when the application starts:

 

CookieSyncManager.createInstance(context)

To set up for sync, the host application has to call

 

CookieSyncManager.getInstance().startSync()

in Activity.onResume(), and call

 

 CookieSyncManager.getInstance().stopSync()
 

in Activity.onPause().

To get instant sync instead of waiting for the timer to trigger, the host can call

 

CookieSyncManager.getInstance().sync()

The sync interval is 5 minutes, so you will want to force syncs manually anyway, for instance in onPageFinished(WebView, String). Note that even sync() happens asynchronously, so don't do it just as your activity is shutting down.

 

오래되서 자세히 기억이나지않습니다만 아는선에서 말씀드리면,

웹뷰에서 로그인성공시에 기록되는 쿠키(세션정보) 값은 물리적데이터로 기록하지않고

메모리에 임시로 올려두고 웹뷰 프로세스가 종료되거나, 일정시간이 경과하면 

쿠키값도 같이 소멸되는것으로 기억합니다,,

그래서 메모리에 임시로 기록한 데이터를 물리적데이터로 남겨야 하는데 위에남긴 문서를 참고하시고,

적용해보시기 바랍니다.

제가 개발했을때는 android sdk 가 구버전이여서 그런지 모르겠지만 저방법도 되다 안되다? 하는 이슈가 있었어요

저뿐만아니라 개발자 포럼 사이트에서도 그런이슈들에 대한 글들이 많이올라왔습니다.

그래서 그때는 로그인성공시 세션아이디를 추출해서 쿠키를직접 생성하는 방법을 썼습니다.

위방법으로 안되신다면 댓글을 남겨주세요 같이 고민해보면 답이 나오겠죠,,

 

 

 

익명사용자 님이 2013년 4월 12일 답변
답변 감사합니다
말씀하신 CookieSyncManager 이 부분 검색해서 참고하여 해보겠습니다.
...