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
반응형
'Android' 카테고리의 다른 글
블루투스 활성화 여부에따라 앱종료 및 계속 실행하기. (0) | 2019.12.30 |
---|---|
안드로이드 기기의 블루투스 지원여부 확인하기. (0) | 2019.12.30 |
안드로이드(android) 인텐트(Intent) 외부 어플 실행 및 패키지명 알아보기 (3) | 2019.12.27 |
안드로이드(android) 생명주기(life cycle) (0) | 2019.12.24 |
안드로이드(android) 하이브리드 웹뷰(webview) 스크롤값 받아오기+스크롤 제어(Scroll) (0) | 2019.12.23 |
댓글