투케이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();
		}
	}
}

/* =========================== */

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[파일 첨부]

 

소스코드.txt
0.06MB

 

javaScriptTest.html
0.01MB

 

mediaTest.html
0.01MB

/* =========================== */

 

반응형
Comments