项目中有用到 @JavascriptInterface 来JS 、Java 通讯,但是 H5 报了一个异常,我在一个通讯方法里申请动态权限,后发现需要切换到主线程才行,其实是所有的 UI 操作都要切换到主线程,否则会抛出异常,后改为以下代码解决问题
private void downLoadGame(String AppGameJsonStr) {
L.e("AppGameJsonStr", AppGameJsonStr);
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
getPermissions().request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean) {
}
}
});
}
});
}
网友评论