public class

QbSdk

extends Object
java.lang.Object
   ↳ com.tencent.smtt.sdk.QbSdk

Class Overview

TBS的全局静态控制类

Summary

Nested Classes
interface QbSdk.PreInitCallback 内核初始化完成回调,参考initX5Environment(Context, QbSdk.PreInitCallback)preInit(Context, QbSdk.PreInitCallback)  
Constants
int CORE_VER_ENABLE_202112
int CORE_VER_ENABLE_202207
int ERRORCODE_MINIQBREADER_CONTEXTISNULL
int ERRORCODE_MINIQBREADER_ISOVERSEA
int ERRORCODE_MINIQBREADER_REFLECTFAILED
int ERRORCODE_MINIQBREADER_REFUSE
int ERRORCODE_MINIQBREADER_X5COREINITFAILED
String KEY_THIRD_PARTY_TURING
Public Constructors
QbSdk()
Public Methods
static boolean canLoadX5(Context context)
This method is deprecated. 此接口会触发同步内核加载,已不再维护,之后的版本会删除
static void canOpenFile(Context context, String filePath, ValueCallback<Boolean> callback)
是否可以打开对应路径的文件
static boolean canUseVideoFeatrue(Context context, int featrueId)
判断视频feature是否支持
static void clearAllWebViewCache(Context context, boolean isClearCookie)
清理系统webview产生的缓存和X5webview产生的缓存
static void closeFileReader(Context context)
This method is deprecated. 接口已在内核SDK 44286版本移除。如需文档解决方案请移步: 腾讯浏览服务文档SDK
static void configurePrivacy(Context context, TbsPrivacyAccess.ConfigurablePrivacy p, String value)
static void disableAutoCreateX5Webview()
禁用内核初始化完成后的创建webview验证过程 将初始化阶段的验证转移到实际使用阶段,可能造成用户有感的卡顿
static void forceSysWebView()
强制使用系统内核,一般针对存在bug的内核版本或机型才使用
【提醒】调用此接口后,进程内所有WebView不能再恢复为X5内核
static boolean getIsSysWebViewForcedByOuter()
app是否主动禁用了X5内核
static Map<String, Object> getSettings()
获取传递给内核的初始化参数
static int getTbsSdkVersion()
获取Tbs sdk的版本号,用于统计及定位问题,每次sdk有修改时会提升版本号
static int getTbsVersion(Context ctx)
获取Tbs内核版本号,用于统计及定位问题
static String getX5CoreLoadHelp(Context context)
获取当前X5加载不起来 or X5 不可用的帮助信息 SDK 44199
static void initTbsSettings(Map<String, Object> settings)
在内核初始化时传递一些额外的参数, 可使用的参数及相关说明参考TbsCoreSettings TBS_SETTINGS_*相关项
static void initX5Environment(Context context, QbSdk.PreInitCallback callback)
异步初始化X5 webview所需环境 此过程包括X5内核的下载、预初始化,接入方不需要接管处理x5的初始化流程,希望无感接入。关于官网X5内核SDK加载不稳定问题说明
static boolean isX5Core()
当前进程内,SDK是否使用的X5内核,不触发加载、只关注当前状态
static int openFileReader(Context context, String filePath, HashMap<String, String> extraParams, ValueCallback<String> callback)
This method is deprecated. 接口已在内核SDK 44286版本移除。如需文档解决方案请移步: 腾讯浏览服务文档SDK
static void pauseDownload()
进程内暂停内核下载
synchronized static void preInit(Context context, QbSdk.PreInitCallback callback)
提供给App侧调用,此方法会做tbs初始化相关工作
包括不限于加载内核so和dex,初始化x5WebView等
目标用于缓解App侧冷启动时耗时过长的问题
static void reset(Context appContext)
清除重置整个TBS状态,包括SDK、内核,每次进程最多调用1次
static void resumeDownload()
进程内恢复内核下载
static void setAppList(Context context, List<String> appList)
static void setCoreMinVersion(int version)
允许终端设置最低版本的x5内核,默认为 -1 即不限制 参考202112最低版本 CORE_VER_ENABLE_202112 202207最低版本 CORE_VER_ENABLE_202207
static void setDownloadWithoutWifi(boolean download)
非wifi下下载tbs设置接口,默认为false不可下载,设置为true 应用层必须提示用户 流量资费
static void setEnableForThirdParty(Context context, Bundle b)
static void setTbsListener(TbsListener tbsListener)
设置tbs下载、安装相关回调的监听,详情参考TbsListener
static void setUserID(Context context, Bundle b)
Use TbsPrivacyAccess#MacAddress.configureAllPrivacy(Context, Bundle) or QbSdk#configurePrivacy instead
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int CORE_VER_ENABLE_202112

Constant Value: 45912 (0x0000b358)

public static final int CORE_VER_ENABLE_202207

Constant Value: 46110 (0x0000b41e)

protected static final int ERRORCODE_MINIQBREADER_CONTEXTISNULL

Constant Value: -100 (0xffffff9c)

protected static final int ERRORCODE_MINIQBREADER_ISOVERSEA

Constant Value: -103 (0xffffff99)

protected static final int ERRORCODE_MINIQBREADER_REFLECTFAILED

Constant Value: -104 (0xffffff98)

protected static final int ERRORCODE_MINIQBREADER_REFUSE

Constant Value: -101 (0xffffff9b)

protected static final int ERRORCODE_MINIQBREADER_X5COREINITFAILED

Constant Value: -102 (0xffffff9a)

public static final String KEY_THIRD_PARTY_TURING

Constant Value: "turing"

Public Constructors

public QbSdk ()

Public Methods

public static boolean canLoadX5 (Context context)

This method is deprecated.
此接口会触发同步内核加载,已不再维护,之后的版本会删除

是否可以加载X5内核

Parameters
context 调用者的context

public static void canOpenFile (Context context, String filePath, ValueCallback<Boolean> callback)

是否可以打开对应路径的文件

Parameters
context 调用者的context
filePath file path
callback 验证成功后利用该callback进行回调

public static boolean canUseVideoFeatrue (Context context, int featrueId)

判断视频feature是否支持

Parameters
context 调用者的context
featrueId feature id
Returns
  • true 支持,false 不支持

public static void clearAllWebViewCache (Context context, boolean isClearCookie)

清理系统webview产生的缓存和X5webview产生的缓存

Parameters
context AppContext
isClearCookie true clear cookie, false not clear cookie

public static void closeFileReader (Context context)

This method is deprecated.
接口已在内核SDK 44286版本移除。如需文档解决方案请移步: 腾讯浏览服务文档SDK

关闭文件阅读器

Parameters
context 调用者的context

public static void configurePrivacy (Context context, TbsPrivacyAccess.ConfigurablePrivacy p, String value)

public static void disableAutoCreateX5Webview ()

禁用内核初始化完成后的创建webview验证过程 将初始化阶段的验证转移到实际使用阶段,可能造成用户有感的卡顿

public static void forceSysWebView ()

强制使用系统内核,一般针对存在bug的内核版本或机型才使用
【提醒】调用此接口后,进程内所有WebView不能再恢复为X5内核

public static boolean getIsSysWebViewForcedByOuter ()

app是否主动禁用了X5内核

Returns
  • true 主动禁用, false 未主动禁用

public static Map<String, Object> getSettings ()

获取传递给内核的初始化参数

Returns
  • 参数map

public static int getTbsSdkVersion ()

获取Tbs sdk的版本号,用于统计及定位问题,每次sdk有修改时会提升版本号

Returns
  • tbs sdk version

public static int getTbsVersion (Context ctx)

获取Tbs内核版本号,用于统计及定位问题

Parameters
ctx 调用者的context
Returns
  • 内核版本号

public static String getX5CoreLoadHelp (Context context)

获取当前X5加载不起来 or X5 不可用的帮助信息 SDK 44199

public static void initTbsSettings (Map<String, Object> settings)

在内核初始化时传递一些额外的参数, 可使用的参数及相关说明参考TbsCoreSettings TBS_SETTINGS_*相关项

Parameters
settings 参数map

public static void initX5Environment (Context context, QbSdk.PreInitCallback callback)

异步初始化X5 webview所需环境 此过程包括X5内核的下载、预初始化,接入方不需要接管处理x5的初始化流程,希望无感接入。关于官网X5内核SDK加载不稳定问题说明

Parameters
context application Context
callback x5初始化完成的回调接口

public static boolean isX5Core ()

当前进程内,SDK是否使用的X5内核,不触发加载、只关注当前状态

public static int openFileReader (Context context, String filePath, HashMap<String, String> extraParams, ValueCallback<String> callback)

This method is deprecated.
接口已在内核SDK 44286版本移除。如需文档解决方案请移步: 腾讯浏览服务文档SDK

第三方打开TBS文件阅读器 支持本地文件打开,暂不支持在线文件打开

Parameters
context 调起miniqb而单独创建的Activity的context。此参数只能是activity类型的context,不能设置为Application 的context
filePath 文件路径。本地资源如/sdcard/test.doc 不支持file:///xxx;暂不支持在线文件如http://www.test.com/test.doc
extraParams 定制功能设置,非必须项,传入null为默认值 style:“0”为文件查看器使用默认的UI样式。“1”为文件查看器使用微信的UI样式。不设置则为默认UI样式 topBarBgColor: 定制文件查看器的顶部栏背景色。格式为“#xxxxxx”,例“#2CFC47”;不设置此想则为默认UI样式。
callback 提供文件阅读器打开/关闭时给调用方回调通知
Returns
  • 1:用QQ浏览器打开 2:用MiniQB打开 3:调起阅读器弹框 -1:filePath为空 打开失败 -5:高版本Android没有定义ContentProvider -6:打开apk类型的文件uri解析为空 -7:fileType为空

public static void pauseDownload ()

进程内暂停内核下载

public static synchronized void preInit (Context context, QbSdk.PreInitCallback callback)

提供给App侧调用,此方法会做tbs初始化相关工作
包括不限于加载内核so和dex,初始化x5WebView等
目标用于缓解App侧冷启动时耗时过长的问题

Parameters
context Context
callback 预加载的回调,可以为空,为空则表示不需要预加载回调

public static void reset (Context appContext)

清除重置整个TBS状态,包括SDK、内核,每次进程最多调用1次

Parameters
appContext ApplicationContext

public static void resumeDownload ()

进程内恢复内核下载

public static void setAppList (Context context, List<String> appList)

public static void setCoreMinVersion (int version)

允许终端设置最低版本的x5内核,默认为 -1 即不限制 参考202112最低版本 CORE_VER_ENABLE_202112 202207最低版本 CORE_VER_ENABLE_202207

Parameters
version 最低版本限制,小于不可用

public static void setDownloadWithoutWifi (boolean download)

非wifi下下载tbs设置接口,默认为false不可下载,设置为true 应用层必须提示用户 流量资费

Parameters
download true 非wifi下允许下载内核,默认不允许

public static void setEnableForThirdParty (Context context, Bundle b)

public static void setTbsListener (TbsListener tbsListener)

设置tbs下载、安装相关回调的监听,详情参考TbsListener

Parameters
tbsListener 监听器

public static void setUserID (Context context, Bundle b)

Use TbsPrivacyAccess#MacAddress.configureAllPrivacy(Context, Bundle) or QbSdk#configurePrivacy instead