2017-05-19 6 views
0

webview를 기반으로 Android 브라우저를 작성 중입니다. 그리고 응용 프로그램을 닫은 후에 데이터베이스에 저장된 기록을 웹보기로 설정하여 이전 세션의 기록 (백 스택)을 표시합니다. 그러나 그런 방법은 없습니다. (우리는 WebView에서만 WebView에 copyBackForwardList() 메서드 만 있습니다.)Android webview set (inject) WebBackForwardList

WebViewClient :: onPageFinished() 메서드를 사용하여 goBack() 메서드없이 url을 저장하려고했으나이 방법은 URL에 저장하지 않았습니다. 항상 작동 - 예를 들어, 나는 WebViewClient 메소드에 대한 호출을 얻지 못한다. 그래서 하나의 탭 백이 이전 페이스 북과 피드가 아닌 이전 사이트를 얻을 것이다 (예 : 탐색 경로 : site -> fb 피드 -> 피드 세부 정보). goBack() 메서드를 사용하여 동일하게 처리하면 올바르게 작동합니다 (피드로 돌아갑니다). 하지만 이전 세션의 기록은 앱을 다시 시작한 후에도 남아 있지 않습니다.

제발, 어떤 제안?

답변

0

오픈 소스 Lightning Browser에있는 해결책을 적용했습니다. 아이디어는 onStop에 인스턴스 상태 묶음을 저장하고 파일에 저장 한 다음 다시 시작할 때 적용하는 것입니다. 그건 해킹이지만 작동했습니다!