안녕하세요!

WebView에 브라우져 백버턴 기능을 주는데 잘안되어 질문드립니다.


매번 안드로이드 개발할때마다 경우의 수가 발생하니 환장할 노릇이군여


안드로이드 하드백버턴 터치일때 javascript메소드 콜을 하게 합니다.

(  

당최 아래 테그는 먹질않내요 원인은 정확히 모르겠습니다.

<a href="javascript:void(0);" onclick="history.back();return false;"  onfocus="blur()" class="hd_btns back"><span>이전으로</span></a>

)


그래서 아래와 같이 처리를 했습니다 

안드로이드 하드백버턴 호출시 실행을 합니다.

web.loadUrl(""javascript:historyBack()");  <---- (1)


========== HTML source============

function historyBack(){

    var mdevice = new MobileDevice();

    if('android' == mdevice.get())

    {

        window.android.historyBack();          <----- (2)

    }

}



========== Android source ============

final public class HybirdBridge


@JavascriptInterface

public void historyBack(){       <---- (3) 

    if (web.canGoBack()) {

        web.goBack();

       return;

   }

  ..

}


실행순서는 1,2,3 순으로 실행이됩니다.


문제는 web.goBack()을 2번 실행을 해야 백이 먹는 이상한경우가 발생을 하는데 

무슨경우 일까요?