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

웹뷰에서 백버튼 처리할 때 도와주세요 ㅠㅠ

0 추천

안녕하세요! 안드로이드 초보입니다..

웹뷰에서 백버튼 처리를 하고있는데

뒤로가기 했을 때 홈일때와 마이페이지 화면일 때 뒤로가기를 두번 누르면 종료되는 코드를 짰는데 홈에서는 작동을 하지만 마이페이지일때는 백 버튼을 누를 시 그냥 그 전 페이지로가고 무조건 홈에서만 적용됩니다..

이런경우 어떻게 해야할까요?

결론: 홈 이외에 다른 주소에서도 뒤로가기 종료를 하고싶을 땐 어떻게 해야할까요?

 

 @Override
    public void onBackPressed() {
        String url;
        url = mwebView.getUrl();

        //주소가 홈일 때
        if (url.equals(MYLOCATIONURL)) {
            if (System.currentTimeMillis() > lastTimeBackPressed + 2000) {
                Toast.makeText(getApplicationContext(), "뒤로 버튼을 한 번 더 누르면 종료됩니다", Toast.LENGTH_LONG).show();
                lastTimeBackPressed = System.currentTimeMillis();
                return;
            } else if (System.currentTimeMillis() <= lastTimeBackPressed + 2000) {
                moveTaskToBack(true);
                finish();
                android.os.Process.killProcess(android.os.Process.myPid());
            }
        }

        //주소가 마이페이지일 때
        else if (url.equals("https://www.discountwantu.com/mypage")){
            if (System.currentTimeMillis() > lastTimeBackPressed + 2000) {
                Toast.makeText(getApplicationContext(), "뒤로 버튼을 한 번 더 누르면 종료됩니다", Toast.LENGTH_LONG).show();
                lastTimeBackPressed = System.currentTimeMillis();
                return;
            } else if (System.currentTimeMillis() <= lastTimeBackPressed + 2000) {
                moveTaskToBack(true);
                finish();
                android.os.Process.killProcess(android.os.Process.myPid());
            }
        }
        mwebView.goBack();
    }

 

컴공입니다초보입니다 (360 포인트) 님이 2019년 9월 27일 질문

1개의 답변

0 추천
어디서부터 안되는지 직접 찾으세요.

마이페이지인지 검사하는 else if 부터 안되는지, 그 안의 if를 타는지 else if를 타는지 직접 로그를 찍어보면 됩니다.

이런 짧고 쉬운 코드에서도 스스로 문제를 못 찾으면 발전이 더뎌요.
쎄미 (162,410 포인트) 님이 2019년 9월 27일 답변
넵!! 알겠습니다 감사합니다! 열심히 찾아보겠습니다!! ㅠㅠ
...