뭐라 해야할지.. 음...
예를 들면
어떤 한 게시판에 사진을 올리려면, "사진올리기 버튼" 을 누르잖아요?
그런데 그 "사진올리기 버튼" 을 누르면 로컬의 사진들을 선택할 수 있게끔 하는데,
안드로이드에서는 webview로 이미 있는 화면을 보여주기만 했습니다.
물론 자바스크립트는 허용 했습니다
mWebView.getSettings().setJavaScriptEnabled(true);
하지만 "사진올리기 버튼" 을 눌러봐도 감감 무소식 이군요...
이미 짜여진 웹상의 버튼과 안드로이드의 기능을 연동하려면 어떡해야 하나요 ㅠㅠ?
html
script
<script>
try{
window.toAndro.callAndroid("listIsEmpty");
//toAndro : 아래 웹뷰엑티비티에서 오브젝트명으로 접근할 수 있게 지어준 이름입니다.
//callAndroid 아래 WebviewToJavascript 클래스에 정의된 메소드입니다. 위 처럼 자바스크립트로 안드로이드 메소드를 호출할 수 있어요.
}catch(err){};
</script>
====================
android
webview activity
...
mWvBrowser.addJavascriptInterface(new WebviewToJavascript(getApplicationContext(), mWvBrowser), "toAndro");
class WebviewToJavascript
...
public void callAndroid(final String str){
mHandler.post(new Runnable(){
public void run(){
if("listIsEmpty".equals(str)) //리스트 없음.
//메시지 띄움
}
});
}