반응형
Uncaught TypeError: window.MyApp.goGoogleMarket is not a function",
외부 자바스크립트에서 안드로이드 함수를 호출할 경우 찾을 수 없다는 에러 입니다.
아마 브릿지 클래스를 만들었을 텐데요.
@JavascriptInterface
위 코드를 추가해줘야 합니다. 안드로이드가 버전이 업되면서... 안드로이드 4.2버전 부터입니다.
private class AndroidBridge {
@JavascriptInterface
public void getJavascriptMessage(final String msg){
javascripthandler.post(new Runnable() {
@Override
public void run() {
Log.e("Webview Message :: " + msg , " MSG");
}
});
}
@JavascriptInterface
public boolean goGoogleMarket(){
javascripthandler.post(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + getPackageName()));
startActivity(intent);
}
});
return true;
}
}
반응형
'IT > 안드로이드' 카테고리의 다른 글
안드로이드 웹뷰 헤더 정보 추가 header 추가 (0) | 2016.12.19 |
---|---|
안드로이드 웹뷰 실행 여부 (0) | 2016.12.19 |
안드로이드 자바스크립트 함수 호출 (0) | 2016.12.19 |
안드로이드 Error:Execution failed for task ':app:buildInfoDebugLoader'. > Exception while doing past iteration backup : Source (0) | 2016.12.15 |
안드로이드 스튜디오 Android framework is detected in the project Configure (0) | 2016.12.15 |