本文档介绍 10.1.68 基线下关于 H5 容器和离线包的 Android SDK 的接口详情。
公共函数
H5TitleView
getTitle
声明:
String getTitle();
说明:获取主标题文本。
参数:无。
返回值:String,主标题。
setTitle
声明:
void setTitle(String title);
说明:设置主标题文本。
参数:
参数
类型
说明
title
String
标题文本
返回值:无。
setSubTitle
声明:
void setSubTitle(String subTitle);
说明:设置副标题。
参数:
参数
类型
说明
subTitle
String
副标题文本
返回值:无。
setImgTitle
声明:
void setImgTitle(Bitmap imgTitle);
说明:设置图像图标。
参数:
参数
类型
说明
imgTitle
Bitmap
图像信息
返回值:无。
setImgTitle
声明:
void setImgTitle(Bitmap imgTitle,String contentDescription);
说明:设置图像图标和 contentDescription。
参数:
参数
类型
说明
imgTitle
Bitmap
图像信息
contentDescription
String
contentDescription 的内容
返回值:无。
showCloseButton
声明:
void showCloseButton(boolean visible);
说明:是否显示关闭按钮。
参数:
参数
类型
说明
visible
boolean
是否显示关闭按钮:
为 true 时,显示关闭按钮
为 false 时,不显示关闭按钮
返回值:无。
getContentView
声明:
View getContentView();
说明:容器获取标题栏 View。
参数:无。
返回值:View,标题栏 View。
getContentBgView
声明:
ColorDrawable getContentBgView();
说明:容器获取标题栏背景。
参数:无。
返回值:ColorDrawable,标题栏背景。
getMainTitleView
声明:
TextView getMainTitleView();
说明:容器获取主标题 View。
参数:无。
返回值:TextView,主标题 View。
getSubTitleView
声明:
TextView getSubTitleView();
说明:容器获取副标题 View。
参数:无。
返回值:TextView,副标题 View。
showBackButton
声明:
void showBackButton(boolean visible);
说明:设置是否展示返回按钮。
参数:
参数
类型
说明
visible
boolean
是否展示返回按钮:
为 true 时,显示返回按钮
为 false 时,不显示返回按钮
返回值:无。
showBackHome
声明:
void showBackHome(boolean visible);
说明:设置首页按钮可见性。
参数:
参数
类型
说明
visible
boolean
是否显示首页按钮:
为 true 时,显示返回首页按钮
为 false 时,不显示返回首页按钮
返回值:无。
showOptionMenu
声明:
void showOptionMenu(boolean visible);
说明:设置是否显示右上角菜单项。
参数:
参数
类型
说明
visible
boolean
是否显示右上角菜单项:
为 true 时,显示菜单
为 false 时,不显示菜单
返回值:无。
setOptionType
声明:
void setOptionType(H5Param.OptionType type);
说明:设置右上角菜单项展示类型。
参数:
参数
类型
说明
type
H5Param.OptionType
菜单展示类型
返回值:无。
setOptionType
声明:
void setOptionType(H5Param.OptionType type, int num, boolean byIndex);
说明:设置右上角菜单项展示类型。
参数:
参数
类型
说明
type
H5Param.OptionType
菜单展示类型
num
int
表示从右往左的第几个 icon,从 0 开始数
byIndex
boolean
是否只对某个菜单项设置展示类型
返回值:无。
showTitleLoading
声明:
void showTitleLoading(boolean visible);
说明:设置是否在标题栏上显示加载状态,可根据需要选择实现方式。
参数:
参数
类型
说明
visible
boolean
是否在标题栏上显示加载状态
返回值:无。
setBtIcon
声明:
void setBtIcon(Bitmap btIcon, int index);
说明:设置右上角按钮图标。
参数:
参数
类型
说明
btIcon
Bitmap
图标
index
int
表示从右往左的第几个 icon,从 0 开始数
返回值:无。
setH5Page
声明:
void setH5Page(H5Page h5Page);
说明:设置容器的 H5 页面。
参数:
参数
类型
说明
h5Page
H5Page
H5 页面
返回值:无。
setOptionMenu
声明:
void setOptionMenu(JSONObject params);
说明:根据 JS 传递过来的参数设置右上角菜单。
参数:
参数
类型
说明
params
JSONObject
JS 参数
返回值:无。
getDivider
声明:
View getDivider();
说明:容器获取返回按钮和标题内容之间的分割线,可返回空。
参数:无。
返回值:View,分割线 View。
getHdividerInTitle
声明:
View getHdividerInTitle();
说明:容器获取标题栏和 Web 页面间的分割线,不可为空。
参数:无。
返回值:View,分割线 View。
getPopAnchor
声明:
View getPopAnchor();
说明:容器获取下拉菜单弹出位置的锚点 View。
参数:无。
返回值:View,下拉菜单弹出位置的锚点 View。
resetTitleColor
声明:
void resetTitleColor(int color);
说明:容器重置标题栏背景色。
参数:
参数
类型
说明
color
int
颜色值
返回值:无。
releaseViewList
声明:
void releaseViewList();
说明:释放被引用的 View,容器页面销毁时触发此方法。
参数:无。
返回值:无。
openTranslucentStatusBarSupport
声明:
void openTranslucentStatusBarSupport(int color);
说明:容器设置沉浸式标题栏颜色。
参数:
参数
类型
说明
color
int
颜色值
返回值:无。
setTitleTxtColor
声明:
void setTitleTxtColor(int color);
说明:设置标题栏字体颜色。
参数:
参数
类型
说明
color
int
颜色值
返回值:无。
getOptionMenuContainer
声明:
View getOptionMenuContainer();
说明:容器获取右上角菜单 View, 必须是 ViewGroup 及子类。
参数:无。
返回值:View,右上角菜单 View。
getOptionMenuContainer
声明:
View getOptionMenuContainer(int index);
说明:容器根据位置获取右上角菜单 View,必须是 ViewGroup 及子类。
参数:
参数
类型
说明
index
int
从右向左的第几个 icon 的位置,从 0 开始数
返回值:View,右上角菜单 View。
setBackgroundAlphaValue
声明:
void setBackgroundAlphaValue(int alpha);
说明:设置背景透明度。
参数:
参数
类型
说明
alpha
int
透明度值
返回值:无。
setBackgroundColor
声明:
void setBackgroundColor(int color);
说明:设置背景色。
参数:
参数
类型
说明
color
int
背景色的值
返回值:无。
H5AppCenterPresetProvider
getCommonResourceAppList
声明:
Set<String> getCommonResourceAppList();
说明:获取全局资源包。
参数:无。
返回值:
Set<String>
,全局资源包集合。
getH5PresetPkg
声明:
H5PresetPkg getH5PresetPkg();
说明:获取预置资源包。
参数:无。
返回值:H5PresetPkg,H5 预置资源包。
getTinyCommonApp
声明:
String getTinyCommonApp();
说明:获取 tinyApp 的公告资源包的 appId。
参数:无。
返回值:String,tinyApp 的公告资源包的 appId。
H5Plugin
onPrepare
声明:
void onPrepare(H5EventFilter filter);
说明:预准备阶段注册 H5 插件过滤器。
参数:
参数
类型
说明
filter
H5EventFilter
H5 插件过滤器
返回值:无。
interceptEvent
声明:
boolean interceptEvent(final H5Event event, final H5BridgeContext context);
说明:拦截事件。
参数:
参数
类型
说明
event
H5Event
H5 事件
context
H5BridgeContext
上下文
返回值:boolean,若成功返回 true,否则返回 false。
handleEvent
声明:
boolean handleEvent(final H5Event event, final H5BridgeContext context);
说明:是否处理事件。
参数:
参数
类型
说明
event
H5Event
可处理的只读事件
context
H5BridgeContext
用于处理一些 JSAPI 相关事件的桥接上下文
返回值:boolean,true 表示插件已经处理了它,否则返回 false。
MPNebula
downloadApp
声明:
public static void downloadApp(final String appId, final MpaasNebulaDownloadCallback mpaasNebulaDownloadCallback)
说明:下载离线包。
参数:
参数
类型
说明
appId
String
离线包 ID
mpaasNebulaDownloadCallback
MpaasNebulaDownloadCallback
下载回调
返回值:无。
installApp
声明:
public static void installApp(final String appId, final MpaasNebulaInstallCallback mpaasNebulaInstallCallback)
说明:安装离线包。
参数:
参数
类型
说明
appId
String
离线包 ID
mpaasNebulaInstallCallback
MpaasNebulaInstallCallback
安装回调
返回值:无。
loadOfflineNebula
声明:
public static void loadOfflineNebula(String jsonFileName, MPNebulaOfflineInfo… mpNebulaOfflineInfos)
说明:加载预置离线包。
参数:
参数
类型
说明
jsonFileName
String
预置离线包 JSON,可从控制台下载
mpNebulaOfflineInfos
MPNebulaOfflineInfo
预置离线包信息
返回值:无。
registerH5Plugin
声明:
public static void registerH5Plugin(String className, String bundleName, String scope, String[] events)
说明:注册自定义 H5 插件(JSAPI)。
参数:
参数
类型
说明
className
String
插件类名,需要全路径(package + class)
bundleName
String
bundle 名(bundle 名可在主 module/build/intermediates/bundle/META-INF/BUNDLE.MF 中查看)
scope
String
范围,通常为 “page”
events
String[]
注册的事件
返回值:无。
enableAppVerification
声明:
public static void enableAppVerification(final String publicKey)
说明:开启离线包验签。必须在首次打开离线包之前开启离线包验签,否则无法正确设置公钥。
参数:
参数
类型
说明
publicKey
String
验签公钥
返回值:无。
setCustomViewProvider
声明:
public static void setCustomViewProvider(H5ViewProvider viewProvider)
说明:设置容器相关的自定义 View,如标题栏、菜单栏、Web Layout、下拉刷新 View 等。
参数:
参数
类型
说明
viewProvider
H5ViewProvider
自定义 view provider
返回值:无。
getH5View
声明:
public static View getH5View(Activity activity, Bundle param)
说明:获取 H5 容器的视图(view)。
参数:
参数
类型
说明
activity
Activity
页面上下文
param
Bundle
启动参数,内部可包含 appid 或是 URL
返回值View,H5 容器的视图(view)
getH5ViewAsync
声明:
public static void getH5ViewAsync(Activity activity, Bundle param, H5PageReadyListener h5PageReadyListener)
说明:异步获取 H5 容器的视图(view)。
参数:
参数
类型
说明
activity
Activity
页面上下文
param
Bundle
启动参数,内部可包含 appid 或是 URL
h5PageReadyListener
H5PageReadyListener
异步回调
返回值:无。
AbsTitleView
resetTitle
声明:
public abstract void resetTitle();
说明:重置导航栏。
参数:无。
返回值:无。
H5ViewProvider
全屏 H5 自定义 View 切点。
createTitleView
声明:
H5TitleView createTitleView(Context context);
说明:创建自定义标题栏的标题。
参数:
参数
类型
说明
context
Context
上下文
返回值:H5TitleView,自定义标题栏的标题。
createNavMenu
声明:
public H5NavMenuView createNavMenu()
说明:创建自定义导航菜单。
参数:无。
返回值:H5NavMenuView,自定义的导航菜单。
createPullHeaderView
声明:
H5PullHeaderView createPullHeaderView(Context context, ViewGroup viewGroup);
说明:创建自定义下拉刷新的头部样式。
参数:
参数
类型
说明
context
Context
上下文
viewGroup
ViewGroup
ViewGroup 控件
返回值:H5PullHeaderView,自定义下拉刷新的头部
createWebContentView
声明:
H5WebContentView createWebContentView(Context context);
说明:创建 WebView 的承载布局。
参数:
参数
类型
说明
context
Context
上下文
返回值:H5WebContentView,自定义 WebView 的承载布局。
ITinyOptionMenuView
getView
声明:
View getView();
说明:获取当前 View。
参数:无。
返回值:View,当前界面 View。
setH5Page
声明:
void setH5Page(H5Page h5Page);
说明:设置容器的 H5 页面。
参数:
参数
类型
说明
h5Page
H5Page
H5 页面
返回值:无。
setOptionMenuOnClickListener
声明:
void setOptionMenuOnClickListener(View.OnClickListener listener);
说明:设置选项菜单的监听事件。
参数:
参数
类型
说明
listener
View.OnClickListener
View 的监听事件
返回值:无。
setCloseButtonOnClickListener
声明:
void setCloseButtonOnClickListener(View.OnClickListener listener);
说明:设置关闭按钮的监听事件。
参数:
参数
类型
说明
listener
View.OnClickListener
View 的监听事件
返回值:无。
setCloseButtonOnLongClickListener
声明:
void setCloseButtonOnLongClickListener(View.OnLongClickListener listener);
说明:长按关闭按钮的监听事件。
参数:
参数
类型
说明
listener
View.OnLongClickListener
View 的监听事件
返回值:无。
H5Utils
setProvider
声明:
void setProvider(String name, Object provider);
说明:设置 Provider。
参数:
参数
类型
说明
name
String
Provider 的名称
provider
Object
Provider 对象
返回值:无。
AbsTinyOptionMenuView
onTitleChange
声明:
void onTitleChange(H5TitleView title);
说明:响应标题栏变化。
参数:
参数
类型
说明
title
H5TitleView
H5 标题栏
返回值:无。
H5ReplaceResourceProvider
自定义资源动态加载切点
getReplaceResourcesBundleName
声明:
String getReplaceResourcesBundleName();
说明:获取标题栏资源的 bundle 名称。
参数:无。
返回值:String,标题栏资源的 bundle 名称。
H5ErrorPageView
自定义网络错误页接口
enableShowErrorPage
声明:
boolean enableShowErrorPage(H5Page h5Page, APWebView view, String errorUrl, int statusCode, String errorMsg, String subErrorMsg, Bundle extInfo, Object extObj);
说明:是否展示自定义错误页面。
参数:
参数
类型
说明
h5Page
H5Page
Page 对象
view
APWebView
WebView 对象
errorUrl
String
错误地址
statusCode
int
错误码
errorMsg
String
错误描述
subErrorMsg
String
错误描述 sub
extInfo
Bundle
扩展信息
extObj
Object
扩展类
返回值:boolean 类型,为 true 时表示需要展示自定义页面,会执行 errorPageCallback 方法。
H5BridgeContext
H5 插件返回结果给 Jsapi 请求接口类
sendBridgeResult
声明:
boolean sendBridgeResult(JSONObject data);
说明:给 JS 层返回结果。返回一次事件就被消费掉,如需多次使用一个 BridgeContext 返回,则需调用 sendBridgeResultWithCallbackKept。
参数:
参数
类型
说明
data
JSONObject
返回给 JS 层的数据
返回值:boolean 类型,若成功则返回 true,否则返回 false。
sendToWeb
声明:
void sendToWeb(String action, JSONObject param, H5CallBack callback);
说明:给 JS 层返回结果,支持添加回调参数。
参数:
参数
类型
说明
action
String
传递数据时的 action
param
JSONObject
需要传递给 JS 层的数据
callback
H5CallBack
-
返回值:无。
sendError
声明:
boolean sendError(H5Event event, Error code);
说明:发送错误信息。
参数:
参数
类型
说明
event
H5Event
H5 事件
code
Error
错误信息
返回值:boolean 类型,为 true 时表示传递成功,否则为 false。
sendSuccess
声明:
void sendSuccess();
说明:用于无返回值的 H5 回调。
参数:无。
返回值:无。
sendError
声明:
void sendError(int error, String errorMessage);
说明:自定义返回错误码和返回文案。
参数:
参数
类型
说明
error
int
返回错误码
errorMessage
String
返回文案
返回值:无。
回调函数
errorPageCallback
声明:
void errorPageCallback(H5Page h5Page, APWebView view, String errorUrl, int statusCode, String errorMsg, String subErrorMsg, Bundle extInfo, Object extObj)
说明:错误页回调。
参数:
参数
类型
说明
h5Page
H5Page
Page 对象
view
APWebView
WebView 对象
errorUrl
String
错误地址
statusCode
int
错误码
errorMsg
String
错误描述
subErrorMsg
String
错误描述 sub
extInfo
Bundle
扩展信息
extObj
Object
扩展类
返回值:无。