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

Native에서 웹의 javascript를 호출할 때 WebView method 호출이 안됩니다.

0 추천

Native에서 웹의 javascript를 호출하려 합니다.

즉, 웹에서 버튼을 눌러 이전 페이지로 가려합니다.

그런데, 아래 첨부한 소스의 goBackPage()에서 webView 접근이 되지 않습니다. webView.goBack() ... 등.

showToast(1) 메소드는 잘 동작합니다.  WebAppInterface 클래스 내에서 자바스크립트 이전 버튼을 눌렀을때, webView를 컨트롤 하려면 어떻게 해야 할까요?

 

아시는 분 답변부탁드립니다...

 

public class WebViewActivity extends AppCompatActivity {
private WebView webView;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
webView = (WebView)findViewById(R.id.webView);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
...
}
 
public class WebAppInterface {
    private Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }

    @JavascriptInterface
    public void goBackPage() {
        if(webView.canGoBack()) {
            webView.goBack();
        } else {
            finish();
        }
    }
}
카비젤 (120 포인트) 님이 2017년 9월 1일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...