Android

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

일용직 코딩노동자 2019. 12. 27. 15:00
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
반응형