Android使用Webview无法弹框问题,及解决Error: Java exception was raised during method invocation
一、解决:Webview无法弹框问题1.加载WebView弹框没有弹出来,百思不得其解,后来发现是Android WebView会阻止alert对话框弹出。如何才能让它不阻止呢,解决方法如下:mWebview.setWebChromeClient(new WebChromeClient(){@Override public boolean onJsAlert(WebView view, Strin
·
一、解决:Webview无法弹框问题
1.加载WebView弹框没有弹出来,百思不得其解,后来发现是Android WebView会阻止alert对话框弹出。如何才能让它不阻止呢,解决方法如下:
mWebview.setWebChromeClient(new WebChromeClient(){
@Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
二、解决:Error: Java exception was raised during method invocation
1.项目中有用到 @JavascriptInterface 来JS 、Java 通讯,但是 H5 报了一个异常,我在一个通讯方法里申请动态权限,后发现需要切换到主线程才行,其实是所有的 UI 操作都要切换到主线程,否则会抛出异常,后改为以下代码解决问题:(核心是要在主线程中使用)
private void downLoadGame(String AppGameJsonStr) {
L.e("AppGameJsonStr", AppGameJsonStr);
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
getPermissions().request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean) {
}
}
});
}
});
}
更多推荐
所有评论(0)