我是靠谱客的博主 甜美书本,最近开发中收集的这篇文章主要介绍html5 runtime运行环境,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。
属性:

appid: 当前应用的APPID
arguments: 第三方程序调用时传递给程序的参数
launcher: 应用启动来源
origin: 应用安装来源
version: 客户端的版本号
innerVersion: 客户端5+运行环境的版本号
launchLoadedTime: 获取当前应用首页加载的时间

方法:

getProperty: 获取指定APPID对应的应用信息
install: 安装应用
quit: 退出客户端程序
restart: 重启当前的应用
setBadgeNumber: 设置程序快捷方式上显示的提示数字
openURL: 调用第三方程序打开指定的URL
openFile: 调用第三方程序打开指定的文件
launchApplication: 调用第三方程序

对象:

WidgetOptions: JSON对象,应用安装参数
WidgetInfo: JSON对象,应用信息
OpenFileOptions: JSON对象,打开文件参数
ApplicationInf: JSON对象,打开第三方程序参数

回调方法:

InstallSuccessCallback: 安装应用成功回调函数
InstallErrorCallback: 安装应用失败回调函数
GetPropertyCallBack: 获取应用属性成功回调函数
OpenErrorCallback: 打开本地文件或URL失败回调函数
LaunchErrorCallback: 调用第三方程序失败回调函数

权限:

功能模块(permissions)

{
// ...
"permissions":{
    // ...
    "Runtime": {
        "description": "运行环境"
    }
}
}

appid

当前应用的APPID

plus.runtime.appid;

说明:

String 类型 只读属性

当前应用的APPID,字符串类型。注意,如果是在HBuilder真机运行获取的是固定值“HBuilder”,需要提交App云端打包后运行才能获取真实的APPID值。
平台支持:

Android - 2.2+ (支持)
iOS - 4.3+ (支持)

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
    // 处理第三方传入的参数
    alert( "Current APP: " + plus.runtime.appid );
}
        </script>
    </head>
    <body>
        当前应用的APPID
    </body>
</html>

arguments

第三方程序调用时传递给程序的参数

plus.runtime.arguments;

说明:

String 类型 只读属性

第三方程序传递过来的参数,字符串格式类型数据。 不是由第三方程序调用启动,则返回空字符串。
平台支持:

Android - 2.2+ (支持): 把第三方传递过来的参数组合成JSON格式字符串,如“{"name":"XiaoMing","password":"123456"}”。
iOS - 4.3+ (支持): 把第三方传递过来的参数,去掉前缀,如“name=XiaoMing&password=”,建议第三方程序传递JSON格式字符串。

示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Runtime Example</title>
    <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
    // 处理第三方传入的参数
    if ( plus.runtime.arguments != "" ) {
        try {
            var aj = JSON.parse( plus.runtime.arguments );
            // 处理JSON对象aj
        }catch( e ) {
            // 若传入的参数不是JSON格式字符,需处理异常情况
        }
    }
}
    </script>
</head>
<body>
    第三方程序调用时传递给程序的参数
</body>
</html>

launcher

应用启动来源

plus.runtime.launcher;

说明:

String 类型 只读属性

5+ APP启动类型,可取以下值: “default”:默认启动方式,通常表示应用列表启动(360手助中搜索启动); “scheme”:通过urlscheme方式触发启动; “push”:通过点击系统通知方式触发启动; “stream”:通过流应用api(plus.stream.open)启动; “shortcut”:通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动; “barcode”:通过二维码扫描启动; “myapp”:通过应用收藏列表([流应用]独立App中”我的”列表)触发启动。
平台支持:

Android - 2.2+ (支持): "shortcut"表示通过桌面快捷方式启动。
iOS - 5.1+ (支持): "shortcut"表示通过3D Touch弹出的快捷方式启动。
360手助流应用 - 5.0+ (支持): 在360手机助手中,从推荐或搜索列表中启动时,启动方式为"default"。

origin

应用安装来源

plus.runtime.origin;

说明:

String 类型 只读属性

5+应用安装来源,可取以下值: “default”:默认安装来源,apk/ipa安装包内置安装; “stream”:通过流应用api(plus.stream.open)安装,仅流应用环境下支持; “push”:通过点击系统通知方式触发安装,仅流应用环境下支持; “scheme”:通过urlscheme方式触发安装,仅流应用环境下支持; “barcode”:通过二维码扫描触发安装,仅流应用环境下支持; “silent”:通过后台静默方式安装,仅流应用环境下支持。
version

客户端的版本号

plus.runtime.version;

说明:

String 类型 只读属性

字符串类型,在编译环境中设置的apk/ipa版本号。
平台支持:

Android - 2.2+ (支持)
iOS - 4.3+ (支持)

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
    // 获取apk/ipa版本号
    alert( "Application(apk/ipa) version: " + plus.runtime.version );
}
        </script>
    </head>
    <body>
        客户端(apk/ipa)的版本号
    </body>
</html>

innerVersion

客户端5+运行环境的版本号

plus.runtime.innerVersion;

说明:

String 类型 只读属性

5+运行环境版本号,格式为:[主版本号].[次版本号].[修订版本号].[编译代号]。
平台支持:

Android - 2.2+ (支持)
iOS - 4.3+ (支持)

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
    // 获取5+运行环境的版本号
    alert( "5+ Runtime version: " + plus.runtime.innerVersion );
}
        </script>
    </head>
    <body>
        5+运行环境的版本号
    </body>
</html>

launchLoadedTime

获取当前应用首页加载的时间

plus.runtime.launchLoadedTime;

说明:

Number 类型 只读属性

应用加载首页面的总时间,从开始加载首页面到首页面加载完成,单位为ms。 注意,应用首页为网络地址则包括网络传输时间。
平台支持:

Android - 2.2+ (支持)
iOS - 4.3+ (支持)

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
    // 处理第三方传入的参数
    alert( "首页加载时间: " + plus.runtime.launchLoadedTime + "ms" );
}
        </script>
    </head>
    <body>
        获取当前应用首页加载的时间
    </body>
</html>

getProperty

获取指定APPID对应的应用信息

void plus.runtime.getProperty( appid, getPropertyCB );

参数:

appid: ( String ) 必选 应用的Appid
getPropertyCB: ( GetPropertyCallBack ) 必选 获得应用信息成功回调函数

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 获取应用信息
function getAppInfo() {
    plus.runtime.getProperty( plus.runtime.appid, function ( wgtinfo ) {
        //appid属性
        var wgtStr = "appid:"+wgtinfo.appid;
        //version属性
        wgtStr += "<br/>version:"+wgtinfo.version;
        //name属性
        wgtStr += "<br/>name:"+wgtinfo.name;
        //description属性
        wgtStr += "<br/>description:"+wgtinfo.description;
        //author属性
        wgtStr += "<br/>author:"+wgtinfo.author;
        //email属性
        wgtStr += "<br/>email:"+wgtinfo.email;
        //licence属性
        wgtStr += "<br/>license:"+wgtinfo.license;
        //licensehref属性
        wgtStr += "<br/>licensehref:"+wgtinfo.licensehref;
        //features 属性
        wgtStr += "<br/>features:"+wgtinfo.features;
        console.log( wgtStr );
    } );
}
        </script>
    </head>
    <body>
        获取应用信息
        <br/>
        <button onclick="getAppInfo()">AppInfo</button>
    </body>
</html>

install

安装应用

void plus.runtime.install( wgtFilePath, options, installSuccessCB, installErrorCB);

说明:

支持以下类型安装包: 1. 应用资源安装包(wgt),扩展名为’.wgt’; 2. 应用资源差量升级包(wgtu),扩展名为’.wgtu’; 3. 系统程序安装包,要求使用当前平台支持的安装包格式。 注意:仅支持本地地址,调用此方法前需把安装包从网络地址或其他位置放置到运行时环境可以访问的本地目录。
参数:

wgtFilePath: ( String ) 必选 要安装的文件路径
应用安装文件或基座安装文件(扩展名为'.wgt')
options: ( WidgetOptions ) 可选
应用安装设置的参数
installSuccessCB: ( InstallSuccessCallback ) 可选
正确安装后的回调
installErrorCB: ( InstallErrorCallback ) 可选
安装失败的回调

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 可支持apk包的安装
iOS - 4.3+ (支持): 不支持ipa包的安装

quit

退出客户端程序

void plus.runtime.quit();

参数:


返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 5+APP:不支持此功能,调用后无任何作用,只能通过设备的Home键退出应用; 流应用:在“流应用”中调用则退出流应用,返回应用列表界面。

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
    plus.key.addEventListener( "backbutton", onKeyBack, false );
}
function onKeyBack() {
    plus.runtime.quit();
}
        </script>
    </head>
    <body>
    </body>
</html>

restart

重启当前的应用

void plus.runtime.restart();

参数:


返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 重启当前的应用
function restartApp() {
    plus.runtime.restart();
}
        </script>
    </head>
    <body>
        重启当前的应用
        <br/>
        <button onclick="restartApp()">Restart</button>
    </body>
</html>

setBadgeNumber

设置程序快捷方式上显示的提示数字

void plus.runtime.setBadgeNumber( number );

参数:

number: ( String ) 必选
在快捷方式上显示的数字,参数为0则表示清除提示数字。 

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 目前仅支持小米(MIUI v5),其它设备调用后无任何效果。
iOS - 4.3+ (支持): 应用需开启“Push Notifications”服务才生效。

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 设置数字
function setBadge() {
    plus.runtime.setBadgeNumber(8);
}
// 清除数字
function clearBadge() {
    plus.runtime.setBadgeNumber(0);
}
        </script>
    </head>
    <body>
        设置程序快捷方式上显示的提示数字
        <br/>
        <button onclick="setBadge()">Set</button>
        <br/>
        <button onclick="clearBadge()">Clear</button>
    </body>
</html>

openURL

调用第三方程序打开指定的URL

void plus.runtime.openURL( url, errorCB, identity );

参数:

url: ( String ) 必选 要打开的URL地址
字符串类型,各平台支持的地址类型存在差异,参考平台URL支持表。
errorCB: ( OpenErrorCallback ) 可选 打开URL地址失败的回调
打开指定URL地址失败时回调,并返回失败信息。
identity: ( String ) 可选 指定打开URL地址的程序名称
在iOS平台此参数被忽略,在Android平台为程序包名,如果指定的包名不存在,则打开URL地址失败。

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持,不支持identity参数

openFile

调用第三方程序打开指定的文件

void plus.runtime.openFile( filepath, options, errorCB );

参数:

filepath: ( String ) 必选 打开文件的路径
字符串类型,文件路径必须是本地路径,否则会导致打开文件失败。
options: ( OpenFileOptions ) 可选 打开文件参数
errorCB: ( OpenErrorCallback ) 必选 打开文件失败的回调
打开文件操作失败时回调,返回失败信息。

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {

}
// 打开文件操作
function testFile() {
    plus.runtime.openFile( "_doc/a.pdf" );
}
        </script>
    </head>
    <body>
        调用第三方程序打开文件
        <br/>
        <button onclick="testFile()">Open File</button>
    </body>
</html>

launchApplication

调用第三方程序

void plus.runtime.launchApplication( appInf, errorCB );

参数:

appInf: ( ApplicationInf ) 必选 要启动第三方程序的描述信息
errorCB: ( LaunchErrorCallback ) 必选 启动第三方程序操作失败的回调函数
启动第三方程序失败时回调,并返回失败信息。

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Runtiem Example</title>
<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {

}
// 调用第三方程序
function launchApp() {
    if ( plus.os.name == "Android" ) {
        plus.runtime.launchApplication( {pname:"com.android.browser"
            ,extra:{url:"http://www.html5plus.org"}}, function ( e ) {
                alert( "Open system default browser failed: " + e.message );
        } );
    } else if ( plus.os.name == "iOS" ) {
        plus.runtime.launchApplication( {action:"http://www.html5plus.org"}, function ( e ) {
            alert( "Open system default browser failed: " + e.message );
        } );
    }
}
</script>
</head>
<body>
    调用第三方程序
    <br/>
    <button onclick="launchApp()">Launch Application</button>
</body>
</html>

WidgetOptions

JSON对象,应用安装参数
说明:

可通过对象设置安装的应用是否进行appid校验、版本号校验等。
属性:

force: (Boolean 类型 )是否强制安装

true表示强制安装,不进行版本号的校验;false则需要版本号校验,如果将要安装应用的版本号不高于现有应用的版本号则终止安装,并返回安装失败。 仅安装wgt和wgtu时生效,默认值 false。

平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

var options = {
force: true
};

WidgetInfo

JSON对象,应用信息
属性:

appid: (String 类型 )应用的APPID
version: (String 类型 )应用的版本号
name: (String 类型 )应用的名称
description: (String 类型 )应用描述信息
author: (String 类型 )应用描述信息
email: (String 类型 )开发者邮箱地址
license: (String 类型 )应用授权描述信息
licensehref: (String 类型 )应用授权说明链接地址
features: (String[] 类型 )应用许可特性列表

平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

var wInfo = {
    appid: "B8B4BD",
    version: "1.0",
    name: "测试应用"
};

OpenFileOptions

JSON对象,打开文件参数
属性:

pname: (String 类型 )优先使用的程序包名

如果指定包名的程序已经安装,则调用其打开文件,若程序不支持打开文件则触发错误回调。 如果指定包名的程序未安装,则弹出系统支持打开此文件的列表,由用户选择程序打开。
popover: (json 类型 )弹出系统选择程序界面指示区域

JSON对象,格式如{top:10;left:10;width:200;height:200;},所有值为像素值,左上坐标相对于容器webview的位置。仅在iPad设备平台有效。

ApplicationInf

JSON对象,打开第三方程序参数
属性:

pname: (String 类型 )第三方程序包名

仅Android平台支持,表示程序的包名,其它平台忽略此属性值。
平台支持
    Android - 2.2+ (支持): 第三方程序的包名,如“io.dclould.HelloH5”。
    iOS - 4.3+ (支持): 忽略此属性值。
action: (String 类型 )程序的操作行为

Android平台上与系统的action值一致;iOS平台为要调用程序的URLScheme格式字符串。
平台支持
    Android - 2.2+ (支持): 第三方程序的操作行为,与系统的action值完全一致。
    iOS - 4.3+ (支持): 要调用程序的URLScheme格式字符串。
extra: (JSON 类型 )调用程序的参数

仅Android平台支持,为JSON格式,用于传递给要调用程序的参数,如extra:{url:"http://www.html5plus.org"}。
平台支持
    Android - 2.2+ (支持): 传递给第三方程序的参数,必须是JSON格式数据,如“{'name':'value','name2':'value2'}”。
    iOS - 4.3+ (支持): 忽略此属性值。

InstallSuccessCallback

安装应用成功回调函数

void onSuccess(widgetInfo){
    // Code here
}

参数:

widgetInfo: ( WidgetInfo ) 必选
应用信息,参见:WidgetInfo

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持,如安装文件为APK,则不触发此回调函数
iOS - 4.3+ (支持): 支持

InstallErrorCallback

安装应用失败回调函数

void onError(error){
    // Handle the error
}

参数:

error: ( DOMException ) 必选
安装失败的错误信息

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

GetPropertyCallBack

获取应用属性成功回调函数

void onGetPropertyCB(widgetInfo){
    // Code here
}

参数:

widgetInfo: ( WidgetInfo ) 必选
应用信息,参见:WidgetInfo

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Runtime Example</title>
        <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 获取应用信息
function getAppInfo() {
    plus.runtime.getProperty( plus.runtime.appid, function ( wgtinfo ) {
        //appid属性
        var wgtStr = "appid:"+wgtinfo.appid;
        //version属性
        wgtStr += "<br/>version:"+wgtinfo.version;
        //name属性
        wgtStr += "<br/>name:"+wgtinfo.name;
        //description属性
        wgtStr += "<br/>description:"+wgtinfo.description;
        //author属性
        wgtStr += "<br/>author:"+wgtinfo.author;
        //email属性
        wgtStr += "<br/>email:"+wgtinfo.email;
        //licence属性
        wgtStr += "<br/>license:"+wgtinfo.license;
        //licensehref属性
        wgtStr += "<br/>licensehref:"+wgtinfo.licensehref;
        //features 属性
        wgtStr += "<br/>features:"+wgtinfo.features;
        console.log( wgtStr );
    } );
}
        </script>
    </head>
    <body>
        获取应用信息
        <br/>
        <button onclick="getAppInfo()">AppInfo</button>
    </body>
</html>

OpenErrorCallback

打开本地文件或URL失败回调函数

void onError(error){
    // Handle the error
}

参数:

error: ( DOMException ) 必选
打开操作失败的错误信息

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

LaunchErrorCallback

调用第三方程序失败回调函数

void onError(error){
    // Handle the error
}

参数:

error: ( DOMException ) 必选
操作失败的错误信息

返回值:
void : 无
平台支持:

Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持

最后

以上就是甜美书本为你收集整理的html5 runtime运行环境的全部内容,希望文章能够帮你解决html5 runtime运行环境所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部