错误:在方法调用期间引发了 Java 异常
Posted
技术标签:
【中文标题】错误:在方法调用期间引发了 Java 异常【英文标题】:Error: Java exception was raised during method invocation 【发布时间】: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 到底出了什么问题。
【问题讨论】:
【参考方案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 对我有用。
【讨论】:
以上是关于错误:在方法调用期间引发了 Java 异常的主要内容,如果未能解决你的问题,请参考以下文章
如何在对引发异常的 C# webmethod 的 ajax 调用上指定消息?
如何使用 Mockery 在模拟方法的第 N 次调用中引发异常