与此问题类似,但解决方案在 mycase 中不起作用。
运行函数 webview.loadUrl 时,Android 应用程序崩溃关闭时
出现以下错误:
E/AndroidRuntime(1593):原因:java.lang.Throwable:警告:在线程“WebViewCoreThread”上调用了 WebView 方法。所有 WebView 方法都必须在 UI 线程上调用。WebView 的未来版本可能不支持在其他线程上使用。
编辑:现在尝试在 runOnUiThread(new Runnable(){ }) 中运行该函数,但出现错误并且无法在上下文中输入 runOnUiThread 的位置。
这是完整的代码:
public class MyJavaScriptInterface {
@JavascriptInterface
public void androidFieldPrompt(String title, String msg, final String funct) {
final EditText input = new EditText(MainActivity.this);
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setTitle(title);
alert.setMessage(msg);
alert.setView(input);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
// ERROR IS BEING THROWN HERE
webView.loadUrl("javascript:window."+funct+"('"+value+"')");
return;
}
});
alert.show();
}
}