안드로이드 스튜디오 웹뷰(WebView) 뒤로가기 제어

 계발에서 개발까지 

 

 

 

WebView 뒤로가기 제어하기

웹뷰를 띄우고나서 웹뷰에 있는 위젯을 누르고 난뒤 핸드폰 디바이스의 뒤로가기 버튼을 눌렀을 경우 애플리케이션이 종료가 됩니다. 이 현상을 막고 그 전 페이지로 넘어가는 방법에 대해 설명하겠습니다. 그 전에 웹뷰를 설정하실 분은 밑에 링크를 타고 설정해 주시면 됩니다.

웹뷰설정하기

 

안드로이드 스튜디오 웹뷰( WebView)설정하기

 계발에서 개발까지 웹뷰 자세히 알아보기 WebView에서 웹 앱 빌드  | Android 개발자  | Android Developers 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경우 WebView

deumdroid.tistory.com

canGoBack() 메소드를 이용하여 웹뷰에서 뒤로가기 했을 때 페이지가 있을 경우 앱이 종료가 되는게 아니라 그 전 페이지로 넘어가게 됩니다. goBack()을 이용하여 웹뷰에서 뒤로가기를 설정 할 수 있게 합니다.

    @Override
    public void onBackPressed() {
        if(mWebView.canGoBack()){
            mWebView.goBack();
        }else{
            super.onBackPressed();
        }
    }

 

밑에 코드 처럼 사용하시면 웹뷰에서 그 전 페이지로 이동하며 더 이상 페이지가 없을 경우 웹을 종료 할 수 있습니다.

 

    private long backBtnTime = 0;

    @Override
    public void onBackPressed() {
        long curTime = System.currentTimeMillis();
        long gapTime = curTime - backBtnTime;
        if (mWebView.canGoBack()) {
            mWebView.goBack();
        } else if (0 <= gapTime && 2000 >= gapTime) {
            super.onBackPressed();
        } else {
            backBtnTime = curTime;
            Toast.makeText(this, "한번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show();
        }


    }

 

수고하셨습니다 ★

더 많은 정보

 https://deumdroid.tistory.com/ 

 

댓글

Designed by JB FACTORY