html5 runtime原理,html5+ Runtime-运行环境

runtime 运行环境

Runtime模块管理运行环境,可用于获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。

属性:

appid: 当前应用的APPID

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

channel: 应用的市场推广渠道标识

launcher: 应用启动来源

origin: 应用安装来源

version: 客户端的版本号

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

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

processId: 获取当前应用的进程标识

startupTime: 获取当前应用的启动时间

方法:

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

install: 安装应用

quit: 退出客户端程序

restart: 重启当前的应用

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

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

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

launchApplication: 调用第三方程序

isApplicationExist: 判断第三方程序是否已存在

对象:

WidgetOptions: JSON对象,应用安装参数

WidgetInfo: JSON对象,应用信息

OpenFileOptions: JSON对象,打开文件参数

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

回调方法:

InstallSuccessCallback: 安装应用成功回调函数

InstallErrorCallback: 安装应用失败回调函数

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

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

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

权限:

5+功能模块(permissions)

{

// ...

"permissions":{

// ...

"Runtime": {

"description": "运行环境"

}

}

}

WidgetOptions

JSON对象,应用安装参数

说明:

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

属性:

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

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

WidgetInfo

JSON对象,应用信息

属性:

appid: _(String 类型 )_应用的APPID

version: _(String 类型 )_应用的版本号

name: _(String 类型 )_应用的名称

description: _(String 类型 )_应用描述信息

author: _(String 类型 )_应用描述信息

email: _(String 类型 )_开发者邮箱地址

license: _(String 类型 )_应用授权描述信息

licensehref: _(String 类型 )_应用授权说明链接地址

features: _(String[] 类型 )_应用许可特性列表

OpenFileOptions

JSON对象,打开文件参数

属性:

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

如果指定包名的程序已经安装,则调用其打开文件,若程序不支持打开文件则触发错误回调。 如果指定包名的程序未安装,则弹出系统支持打开此文件的列表,由用户选择程序打开。

popover: _(json 类型 )_弹出系统选择程序界面指示区域

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

ApplicationInf

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

属性:

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

仅Android平台支持,表示程序的包名,其它平台忽略此属性值。

action: _(String 类型 )_程序的操作行为

Android平台上与系统的action值一致;iOS平台为要调用程序的URLScheme格式字符串。

extra: _(JSON 类型 )_调用程序的参数

仅Android平台支持,为JSON格式,用于传递给要调用程序的参数,如extra:{url:“http://www.html5plus.org”}。

InstallSuccessCallback

安装应用成功回调函数

void onSuccess(widgetInfo){

// Code here

}

参数:

widgetInfo: ( WidgetInfo ) 必选

应用信息,参见:WidgetInfo

返回值:

void : 无

InstallErrorCallback

安装应用失败回调函数

void onError(error){

// Handle the error

}

参数:

error: ( DOMException ) 必选

安装失败的错误信息

返回值:

void : 无

GetPropertyCallBack

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

void onGetPropertyCB(widgetInfo){

// Code here

}

参数:

widgetInfo: ( WidgetInfo ) 必选

应用信息,参见:WidgetInfo

返回值:

void : 无

OpenErrorCallback

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

void onError(error){

// Handle the error

}

参数:

error: ( DOMException ) 必选

打开操作失败的错误信息

返回值:

void : 无

LaunchErrorCallback

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

void onError(error){

// Handle the error

}

参数:

error: ( DOMException ) 必选

操作失败的错误信息

返回值:

void : 无

Hello H5+title>

console.log("程序版本号:" + plus.runtime.version + "\n内核版本号:" + plus.runtime.innerVersion);

}

function getArguments() {

console.log("启动方式: " + plus.runtime.launcher + "\n启动参数: " + plus.runtime.arguments);

}

function restartApp() {

plus.runtime.restart();

}

function getWidgetInfo() {

plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {

//appid属性

var wgtStr = "appid:" + wgtinfo.appid;

//version属性

wgtStr += "\nversion:" + wgtinfo.version;

//name属性

wgtStr += "\nname:" + wgtinfo.name;

//description属性

wgtStr += "\ndescription:" + wgtinfo.description;

//author属性

wgtStr += "\nauthor:" + wgtinfo.author;

//email属性

wgtStr += "\nemail:" + wgtinfo.email;

//licence属性

wgtStr += "\nlicense:" + wgtinfo.license;

//licensehref属性

wgtStr += "\nlicensehref:" + wgtinfo.licensehref;

//features 属性

wgtStr += "\nfeatures:" + wgtinfo.features;

console.log(wgtStr);

});

}

function setBadge() {

plus.runtime.setBadgeNumber(50);

console.log("设置程序图标右上角显示的提示数字为50\n请返回桌面查看");

if (plus.os.name == "iOS") {

outLine('*如果无法设置提示数字,请到"设置"->"通知"中配置应用在通知中心显示!');

} else {

outLine("注:仅支持小米(MIUI v5),其它设备暂不支持此功能!");

}

}

function clearBadge() {

plus.runtime.setBadgeNumber(0);

console.log("清除程序图标右上角显示的提示数字\n请返回桌面查看");

if (plus.os.name == "iOS") {

outLine('如果无法清除提示数字,请到"设置"->"通知"中配置应用在通知中心显示!');

} else {

outLine("注:仅支持小米(MIUI v5),其它设备暂不支持此功能!");

}

}

function exitApp() {

if (plus.os.name == "Android") {

plus.runtime.quit();

} else {

console.log("此平台不支持直接退出程序,请按Home键切换应用");

}

}

function updateApp() {

var url = 'http://demo.dcloud.net.cn/helloh5/update/HelloH5.wgtu';

plus.nativeUI.showWaiting("升级中...");

var dtask = plus.downloader.createDownload(url, {

method: "GET"

}, function (d, status) {

if (status == 200) {

console.log("Download wgtu success: " + d.filename);

plus.runtime.install(d.filename, {}, function () {

plus.nativeUI.closeWaiting();

plus.nativeUI.alert("Update wgtu success, restart now!", function () {

plus.runtime.restart();

});

}, function (e) {

plus.nativeUI.closeWaiting();

alert("Update wgtu failed: " + e.message);

});

} else {

plus.nativeUI.closeWaiting();

alert("Download wgtu failed: " + status);

}

});

dtask.addEventListener('statechanged', function (d, status) {

console.log("statechanged: " + d.state);

});

dtask.start();

}script>

head>

div>

Runtimediv>

div>

header>


调用第三方程序

div>


获取版本信息li>

获取启动信息li>

重启当前应用li>

获取当前应用的基本属性li>

设置程序图标右上角数字li>

清除程序图标右上角数字li>

退出当前应用li>

ul>

div>

Runtime管理程序运行时环境,可用于获取程序的各种信息、与第三方程序通讯等。

div>

body>

html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值