Notice
Recent Posts
Recent Comments
Link
투케이2K
160. (AndroidStudio/android/java) 안드로이드 웹뷰 (WebView) 호출 및 자바스크립트 (JavaScript) 통신 수행 실시 본문
Android
160. (AndroidStudio/android/java) 안드로이드 웹뷰 (WebView) 호출 및 자바스크립트 (JavaScript) 통신 수행 실시
투케이2K 2021. 5. 21. 12:55/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : AndroidStudio
개발 언어 : java
/* =========================== */
/* =========================== */
[소스 코드]
/** ========= [자바스크립트에서 안드로이드 호출하기 - 경로 지정] ========= **/
public void Javascript_To_Android(){
//TODO [자바스크립트 부분 : 예제 [1]]
/**
function JsToAndo() {
window.location.close('JS TO Mobile');
// [안드로이드에서 브릿지 경로 location 정의 / 안드로이드 브릿지 내부에서 정의한 close() 메소드]
}
*/
//TODO [안드로이드 부분 : 예제 [1]]
main_webview.addJavascriptInterface(new AndroidBridge(), "location"); //자바스크립트에 대응할 함수를 정의한 클래스 붙여줌
//TODO [자바스크립트 부분 : 예제 [2]]
/**
function JsToAndo() {
window.media.intent('Web TO Mobile [INTENT]');
// [안드로이드에서 브릿지 경로 media 정의 / 안드로이드 브릿지 내부에서 정의한 intent() 메소드]
}
*/
//TODO [안드로이드 부분 : 예제 [2]]
main_webview.addJavascriptInterface(new AndroidBridge(), "media"); //자바스크립트에 대응할 함수를 정의한 클래스 붙여줌
}
/** ========= [안드로이드에서 자바스크립트 호출하기] ========= **/
class Android_To_Javascript{
public void TestMethod(){
try {
//TODO [안드로이드 부분 - 일반 호출 : 예제 [1]]
main_webview.loadUrl("javascript:AndoToJs('')");
//TODO [자바스크립트 부분 - 일반 호출 : 예제 [1]]
/**
function AndoToJs() {
alert('Mobile > JS');
}
*/
//TODO [안드로이드 부분 - 데이터 전송 : 예제 [2]]
main_webview.loadUrl("javascript:AndoToJs('"+String.valueOf("HELLO")+"')");
//TODO [자바스크립트 부분 - 데이터 전송 : 예제 [2]]
/**
function AndoToJs(velue) {
alert(velue);
}
*/
}
catch (Exception e){
e.printStackTrace();
}
}
}
/* =========================== */
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[파일 첨부]
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments