본문 바로가기
Android

안드로이드 브릿지 활용하여 웹에서 안드로이드 메소드실행

by 일용직 코딩노동자 2019. 12. 27.
728x90
반응형

우선 하이브리드 앱을 하고있는데, 웹에서 안드로이드 자체 네이티브딴의 메소드를 실행하고싶을때

활용합니다.

 

안드로이드 브릿지라는것을 활용할건데요.

 

웹뷰를 셋팅해주는 부분에서

mWebView.addJavascriptInterface(new AndroidBridge(), "BRIDGE");

 

한줄 셋팅해줍니다.

 

그리고 클래스를 하나 작성해주고 그안에 웹에서 실행할 메소드를 작성해주는데요.

 

  final class AndroidBridge {
  @JavascriptInterface //이게 있어야 웹에서 실행이 가능합니다.
    public void CallAndroid() {
    	Toast.makeText(getApplicationContext(),"웹에서 클릭했어요",Toast.LENGTH_SHORT).show();
   }
}

이렇게 정의를 해주시고, 이제 웹에서 실행 할 때 입니다.

 

<input type="button" value="Say hello" onClick="CallAndroid()" />
<script type="text/javascript">
    function CallAndroid() {
        BRIDGE.CallAndroid();
    }
</script>

 

이렇게 실행을 해주시면되는데요

 

BRIDGE는 webview셋팅을 해줄때 적어준것입니다.

그리고 호출할 함수명을 적어주면됩니다.

 

궁금하신 사항은 댓글 남겨주세요. 

728x90
반응형

댓글