在Android项目中集成腾讯X5内核

前言

前几天,为了更好更流畅的播放网页视屏,我们决定在项目中使用腾讯的tbs服务。之所以不使用crosswalk,是因为播放网络视频这个需求相对于使项目apk包增大十几兆还是有所不值。而在这种情况下,腾讯tbs的x5内核webView就很适合我们的要求了。

正文

今天就介绍一下如何使用x5内核替代系统原生的webView,以解决系统自带webView能力不足的问题。

  1. 下载tbs的jar包
    在腾讯tbs升级至3.0后,我们集成x5内核已经不用再创建后台项目,直接下载jar包集成到项目中即可。下载地址:X5内核下载地址
    在这里我还是说一下需要集成appkey的方法:
    首先依然是下载敢放jar包,然后在官网开发者后台申请自己的appkey,并配置到自己的项目清单文件中:

其中 name不变,value改为自己的APPkey

  1. 添加权限,可以直接复杂官方demo的权限。
  2. 在mainActivity或者application中加载X5内核(建议在application中加载)
public class APPAplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
        QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
            
            @Override
            public void onViewInitFinished(boolean arg0) {
                // 在这里你可以做一些关于x5加载的操作
                //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
                Log.d("app", " onViewInitFinished is " + arg0);
            }
            
            @Override
            public void onCoreInitFinished() {
                // TODO Auto-generated method stub
            }
        };
        //x5内核初始化接口
        QbSdk.initX5Environment(getApplicationContext(),  cb);
    }
}
  1. 复制官方demo中utils中的类到自己的项目中


    在Android项目中集成腾讯X5内核_第1张图片
    复制utils下的文件到自己的项目中
  2. 将layout中的webView替换成X5webView。注意:这里的X5webView是需要带路径的,如com.X5util.X5WebView
  3. 接下来就可以直接使用X5WebView进行开发了,因为X5webView是继承自webView的,所以不用担心之前webView的方法不支持。
    在使用X5内核播放视屏时,只需要在包含该X5WebView的activity中配置好相关属性即可支持全屏、小窗口播放等功能
private void initX5Video(){
            Bundle data = new Bundle();

            data.putBoolean("standardFullScreen", false);// true表示标准全屏,false表示X5全屏;不设置默认false,

            data.putBoolean("supportLiteWnd", true);// false:关闭小窗;true:开启小窗;不设置默认true,

            data.putInt("DefaultVideoScreen", 1);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1

            webView.getX5WebViewExtension().invokeMiscMethod("setVideoParams",
                    data);
}

至此,腾讯tbs服务集成成功

总结

关于腾讯的X5内核TBS服务先暂时记录这么多,还有许多没有写到的点在以后的工作学习逐步记录

你可能感兴趣的:(在Android项目中集成腾讯X5内核)