[英]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.