简体   繁体   English

错误:方法调用期间引发了 Java 异常

[英]Error: Java exception was raised during method invocation

I got an error when js invoke Android's native method on android 5,6,7当js在android 5,6,7上调用Android的native方法时出现错误

Error: Java exception was raised during method invocation

From javascript I am calling native android's method like this:从 javascript 我调用原生 android 的方法是这样的:

Android.setIsGoBack(true);

and on android side I have this method in abstract class like:在 android 方面,我在抽象 class 中有这种方法,例如:

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

and I am not sure what is actually getting wrong on Android 5,6,7.而且我不确定 Android 5、6、7 到底出了什么问题。

I have fixed the above issue.我已经解决了上述问题。 The problem was I was calling the method from javascript and updating UI (activity as DashBoardActivity).setHeader("") in some other thread than UI.问题是我从 javascript 调用该方法并在 UI 之外的其他线程中更新 UI (activity as DashBoardActivity).setHeader("") So changed my method to:所以将我的方法更改为:

 @JavascriptInterface
    override fun setIsGoBack(isGoBack: Boolean) {


        activity?.runOnUiThread {
            (activity as DashBoardActivity).isGoBack = isGoBack
            (activity as DashBoardActivity).setHeader("")
        }
    }

updating UI on main thread worked for me.在主线程上更新 UI 对我有用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM