Android Webview 리디렉션 문제 해결

1408 단어
     webview   ,      webveiw         ,     webview。goback()   ,              。

1. 해결 방법
WebBackForwardList webBackForwardList=webview.copyBackForwardList () 웹뷰 마운트 창고를 가져오고 마운트 창고를 논리적으로 조작합니다
2.webBackForwardList에서 자주 사용하는 방법
  • int size = webBackForwardList.getSize()
  • webBackForwardList.getCurrentItem()
  • webBackForwardList.getCurrentIndex()
  • webBackForwardList.getItemAtIndex(index)

  • getsize () 방법으로 현재 불러오는 창고의 길이를 얻기;getCurrentItem () 은 현재 웹뷰에 불러오는 인터페이스를 가져옵니다. 이 방법으로 URL, title 등의 내용을 얻을 수 있습니다.getCurrentIndex()는 현재 로딩 스택에 로드된 위치를 가져옵니다.webBackForwardList.getItemAtIndex(index)가 로딩 스택의 index 페이지를 가져옵니다.
    3. 합리적으로 사용
    2에서 웹 페이지를 불러오는 정보를 얻고 현재 URL, 제목, 위치에 따라 사용할 수 있습니다.그에 상응하는 처리를 하다.
    4. 데모 사용
    현재 우리는 이런 장면이 있다. 하나의activity를 열고 웹뷰에서 A인터페이스를 불러오고 사용자는 A에서 B를 클릭한 다음에 C를 클릭하고 D를 클릭한다.작업을 되돌릴 때 D에서 B로 건너뛰고 A를 건너뛰면 코드가 됩니다.
      public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (webView.canGoBack()) {
                WebBackForwardList webBackForwardList = webView.copyBackForwardList();
                if (webBackForwardList.getCurrentIndex() == 4) {//    D  
                    webView.loadUrl(webBackForwardList.getItemAtIndex(1).getUrl());//   B  
                    return true;
                }
                webView.goBack();
            }
           
            return true;
        }
    
    

    좋은 웹페이지 즐겨찾기