我正在为Android开发一个应用程序,其中一些内容通过WebView显示。
我有像这样的Javascript界面。
WebAppInterface(Context c, Response response) {
activity = (Activity) c;
delegate = response;
context = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void getResponse(final String operation, final String response, final String type) {
final Handler mainHandler = new Handler(context.getMainLooper());
mainHandler.post(new Runnable() {
@Override
public void run() {
delegate.didGetResponse(operation, response, type);
Log.d("Success: ", "Im still here"); <-- why am I not back in main thread?
}
});
}
public interface Response {
public void didGetResponse(String operation, String response, String type);
}
我的活动实现了didGetResponse,并且有一个开关,可以执行代码并在需要时更新webview,但仅限于webview中的第一个功能,因此在设置页面后,webview不再响应&#34;点击&#34;
我正在思考它,因为线程仍在javascript接口中?
然而,原生按钮仍然可以更新webview。但我希望能够从webview中新加载的URL调用js函数
答案 0 :(得分:2)
好的,所以我发现答案结果是我用一些参数调用了一个javascript函数。所以我的解决方案有效,问题是我的js函数在这个页面上只有2个参数而不是3个。这与swift的不同之处在于它只使用了2个参数。