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
반응형