本文檔介紹 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
擴充類
傳回值:無。