안드로이드 개발 시작한지 얼마되지않은 초짜개발자입니다..
public class WebViewInterface {
private WebView mWebView;
private Activity mContext;
public WebViewInterface(Activity activity, WebView view) {
mWebView = view;
mContext = activity;
}
@JavascriptInterface
public void actionSomething() {
Log.d("JavascriptInterface", "actionSomething");
}
}
WebViewInterface.java입니다.
WebViewInterface mWebViewInterface = new WebViewInterface(MainActivity.this, mWebView);
mWebView.addJavascriptInterface(mWebViewInterface, "android");
MainActivity에서 WebViewInterface를 다음과 같이 선언해주었습니다.
웹에서 JavascriptInterface로 선언된 actionSomething() 메소드로 호출은 성공하여 로그가 찍히는 것까지는 확인을 했는데
MainActivity에 something() 이라는 메소드를 호출하려면 어떤 방식으로 접근해야하는지 궁금합니다.
MainActivity mActivity;
mActivity = (MainActivity) mContext.getApplicationContext();
mActivity.something();
구글링을 하다보니 위와같이 접근해서 쓰면 된다고 하는데
W/System.err: java.lang.ClassCastException: android.app.Application cannot be cast to .MainActivity
at kr.wbsi.wbs_service.WebViewInterface.actionSomething(WebViewInterface.java:43)
at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41)
처럼 에러가 발생합니다.
고수님들의 조언 부탁드립니다!!