【问题标题】:Error: Java exception was raised during method invocation错误:在方法调用期间引发了 Java 异常
【发布时间】:2022-01-08 17:22:24
【问题描述】:

在android 5,6,7上js调用android的native方法时报错

Error: Java exception was raised during method invocation

从 javascript 我这样调用原生 android 的方法:

Android.setIsGoBack(true);

在 android 端,我在抽象类中有这个方法,例如:

@JavascriptInterface
override fun setIsGoBack(isGoBack: Boolean) {
     (activity as DashBoardActivity).isGoBack = isGoBack
     (activity as DashBoardActivity).setHeader("")
}

我不确定 Android 5、6、7 到底出了什么问题。

【问题讨论】:

    标签: javascript java android


    【解决方案1】:

    我已经解决了上述问题。问题是我从 javascript 调用该方法并在 UI 之外的其他线程中更新 UI (activity as DashBoardActivity).setHeader("")。所以将我的方法更改为:

     @JavascriptInterface
        override fun setIsGoBack(isGoBack: Boolean) {
    
    
            activity?.runOnUiThread {
                (activity as DashBoardActivity).isGoBack = isGoBack
                (activity as DashBoardActivity).setHeader("")
            }
        }
    

    在主线程上更新 UI 对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 2021-06-10
      • 1970-01-01
      相关资源
      最近更新 更多