[안드로이드] androidBridge they will not be visible in API 17 오류 해결 방법
none of the methods in the added interface(androidBridge) have been annotated with @android.webkit they will not be visible in API 17
이 오류의 해결 방법 입니다.
1. 원인
안드로이드 버전 API 17 이상부터 androidBridge 사용시 메소드에 어노테이션을 사용해야 정상 구동 하도록
바뀌어서 생기는 오류
2. 해결 방법
간단하게 androidBridge에서 사용하는 메소드위에 어노테이션을 추가 하면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | package com.xxx.xxxx; import android.os.Handler; import android.util.Log; import android.webkit.JavascriptInterface; import android.webkit.WebView; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by Administrator on 2017-08-03. */ public class AndroidBridge { private final Handler handler = new Handler(); private WebView mWebView; private DBHelper dbHelper; private boolean newtwork; // 생성자 public AndroidBridge(WebView mWebView, DBHelper dbHelper, boolean newtwork) { this.mWebView = mWebView; this.dbHelper = dbHelper; this.newtwork = newtwork; } // 네트워크 상태 확인 @JavascriptInterface public void requestNetwork() { // must be final handler.post(new Runnable() { public void run() { Log.d("HybridApp", "네트워크 상태 요청"); mWebView.loadUrl("javascript:getNetwork("+newtwork+")"); } }); } @JavascriptInterface public void setMessage(final String arg) { // must be final handler.post(new Runnable() { public void run() { Log.d("HybridApp", "setMessage("+arg+")"); mWebView.loadUrl("javascript:getAndroidMessage('ANDROID -> JAVASCRIPT CALL!!')"); } }); } } | cs |
간단하게 다른거 볼 필요 없이
28번라인에 추가한 어노테이션을 29번같은 메소드 위에 선언하기만 하면 해당 오류가 해결 된다.
'Yame Programmer > Android' 카테고리의 다른 글
[안드로이드] 기기의 카메라에 오류가 생겼습니다. 기기를 재시작해야할수도있습니다 해결방법 (0) | 2017.08.08 |
---|---|
[안드로이드] 웹뷰 자바스크립트와 안드로이드 자바 연동 방법 (4) | 2017.08.03 |
[안드로이드] 인터넷 연결상태 확인하는 방법 (1) | 2017.08.03 |
[안드로이드] 간단하게 웹뷰 구현 예제 (12) | 2017.08.03 |
[안드로이드] FCM 화면 깨우기 화면 켜지게 하는 방법 (11) | 2017.07.12 |