QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
@Override
public void onViewInitFinished(boolean arg0) {
//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
Log.i("zhj", "加载内核是否成功: " + arg0);
}
@Override
public void onCoreInitFinished() {
Log.i("zhj", "onCoreInitFinished: ");
}
};
//x5内核初始化接口
QbSdk.initX5Environment(getApplicationContext(), cb);
最近在集成了tbs的webview,但是发现总会出现初始化失败,onViewInitFinished返回总是false,无论手机有没有微信 QQ浏览器。
百度了好多方法还有什么重新下载的,拷贝数据的。
后来发现只需要在第一次安装程序的时候静静的等待几十秒(这时候不要切换页面,不要退到后台,不要有权限的弹窗),那么你就会初始化成功了,之后就会一直成功了。
分析了下之前不成功的原因就是第一次进入tbs在下载x5内核,但是没有下载完成就跳页面了, 导致有部分残存的文件,下次启动tbs会认为x5内核已经下载了,导致之后的初始化一直是失败的。
但是如果你是给客户使用的这个时候就需要你做一些等待处理,避免用户操作。
网友评论