본문 바로가기
안드로이드앱 개발

안드로이드 웹뷰에서 핸드폰 기능 사용

by 구리구리 잡다구리 2018. 10. 30.

웹뷰에서 자바스크립트인터페이스를 통해서 핸드폰에 있는 기능을 제어할 수 있다.

아래 소스는 웹뷰에서 핸드폰의 공유 기능을 불러오는 소스다.


MainActivity.java 에 아래 소스를 넣어면 된다.

// 웹뷰와 안드로이드와 연결해 핸드폰에 기능을 제어함
webView.addJavascriptInterface(new WebViewInterface(), "Android"); //웹뷰에 JavascriptInterface를 연결


// 웹뷰와 안드로이드와 연결해 핸드폰에 기능을 제어함
private class WebViewInterface {

// 기기의 공유 기능 작동함
@JavascriptInterface
public void doShare(final String arg1, final String arg2, final String arg3) {
new Handler().post(new Runnable() {
public void run() {
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_SUBJECT, arg1); // 제목
shareIntent.putExtra(Intent.EXTRA_TEXT, arg2); // 내용
startActivity(Intent.createChooser(shareIntent, arg3)); // 공유창 제목
}
});
}

}



아래 소스는 웹뷰에서 불러오는 웹페이지에서 넣으면 되는 소스이다.

<script>
// 안드로이드 기기 함수 호출하기(공유기능)
function callApp_share( arg1, arg2, arg3 ) {
	window.Android.doShare( arg1, arg2, arg3 );
}
</script>

<a data-transition="none" href="javascript:callApp_share('제목','공유할 내용','공유창에 나오는 제목');">공유하기</a>



웹뷰에서 "공유하기" 클릭시 아래와 같이 핸드폰의 공유기능을 불어와서 사용할 수 있다.

웹뷰핸드폰공유


댓글