简体   繁体   中英

Error: Java exception was raised during method invocation

I got an error when js invoke Android's native method on android 5,6,7

Error: Java exception was raised during method invocation

From javascript I am calling native android's method like this:

Android.setIsGoBack(true);

and on android side I have this method in abstract class like:

@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.

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. 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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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