Android使用Webview无法弹框问题,及解决Error: Java exception was raised during method invocation

2022-07-31 13:19:40

一、解决:Webview无法弹框问题
1.加载WebView弹框没有弹出来,百思不得其解,后来发现是Android WebView会阻止alert对话框弹出。如何才能让它不阻止呢,解决方法如下:

mWebview.setWebChromeClient(newWebChromeClient(){@OverridepublicbooleanonJsAlert(WebView view, String url, String message, JsResult result){returnsuper.onJsAlert(view, url, message, result);}});

二、解决:Error: Java exception was raised during method invocation
1.项目中有用到 @JavascriptInterface 来JS 、Java 通讯,但是 H5 报了一个异常,我在一个通讯方法里申请动态权限,后发现需要切换到主线程才行,其实是所有的 UI 操作都要切换到主线程,否则会抛出异常,后改为以下代码解决问题:(核心是要在主线程中使用)

privatevoiddownLoadGame(String AppGameJsonStr){
        L.e("AppGameJsonStr", AppGameJsonStr);
       mContext.runOnUiThread(newRunnable(){@Overridepublicvoidrun(){getPermissions().request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE).observeOn(AndroidSchedulers.mainThread()).subscribe(newConsumer<Boolean>(){@Overridepublicvoidaccept(Boolean aBoolean)throws Exception{if(aBoolean){}}});}});}
  • 作者:成功之路必定艰辛
  • 原文链接:https://blog.csdn.net/qq_34512796/article/details/123566051
    更新时间:2022-07-31 13:19:40