블로그

[안드로이드] 웹뷰에서 자바스크립트로 네이티브 코드 호출

안드로이드 웹뷰에서 자바스크립트를 이용해서 네이티브 코드를 호출하는 방법입니다.

아래와 같이 WebAppInterface 라는 클래스를 액티비티의 내부 클래스로 만듭니다.

public class MainActivity extends AppCompatActivity {
...
public class WebAppInterface {
    Context mContext;

    WebAppInterface(Context c) {
        mContext = c;
    }

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

webView 인스턴스에 자바스크립트 인터페이스를 셋팅해 줍니다. 파라미터 중 Android 라는 스트링은 웹뷰에서
호출 시 사용되는 명칭입니다.

webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");

웹뷰의 웹 페이지에서는 스크립트로 아래와 같이 호출합니다.

<script>
    Android.showToast("안녕하세요.");
</script>
2015-12-31 목록