0
点赞
收藏
分享

微信扫一扫

Android 与H5交互的线程切换问题

小沙坨 2021-10-09 阅读 99
随笔

在我们的应用中,少不了一些H5页面,相应的就会有很多与原生的交互,今天遇到一个坑,就是在我的桥接类中JSInterface的方法中,我偶然发现,含有@JavascriptInterface标识的方法,实际上方法不是运行在主线程,而是一个JSBridge的线程中,这时如果有相应的UI操作,一定要记住,这里需要切换到主线程,否则可能引发一些不可预期的异常。这期只是一个常识性的东西,但是也是最近才发现这个问题,所以在此简单记录。

@JavascriptInterface

public void receiveCoupon(){//js调用Activity领取优惠券接口

    Log.i(TAG, "receiveCoupon: "+Thread.currentThread().getName());

    if (onHandleJsMethodListener!=null){

activity.runOnUiThread(new Runnable() {

@Override

            public void run() {

onHandleJsMethodListener.onReceiveCoupon();

            }

});

    }

}

举报

相关推荐

0 条评论