# runtime

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

## 属性：

- appid: 当前应用的APPID
- arguments: 第三方程序调用时传递给程序的参数
- channel: 应用的渠道标识
- launcher: 应用启动来源
- origin: 应用安装来源
- version: 客户端的版本名称
- versionCode: 客户端的版本号
- innerVersion: 客户端5+运行环境的内部版本号
- uniVersion: 客户端uni-app运行环境的版本号
- launchLoadedTime: 获取当前应用首页加载的时间
- processId: 获取当前应用的进程标识
- startupTime: 获取当前应用的启动时间戳
- isRecovery: 应用是否由于内核崩溃自动恢复

## 方法：

- getProperty: 获取指定APPID对应的应用信息
- install: 安装应用
- quit: 退出应用
- restart: 重启当前的应用
- setBadgeNumber: 设置程序快捷方式图标上显示的角标数字
- openURL: 调用第三方程序打开指定的URL
- openWeb: 使用内置Webview窗口打开URL
- openFile: 调用第三方程序打开指定的文件
- processDirectPage: 处理直达页面链接参数
- launchApplication: 调用第三方程序
- isApplicationExist: 判断第三方程序是否已存在
- isCustomLaunchPath: 判断是否自定义应用启动页面加载地址

## 对象：

- ApplicationInf: JSON对象，打开第三方程序参数
- BadgeOptions: JSON对象，应用角标显示需要的通知栏消息的参数
- OpenFileOptions: JSON对象，打开文件参数
- WidgetInfo: JSON对象，应用信息
- WidgetOptions: JSON对象，应用安装参数

## 回调方法：

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

## 权限：

5+功能模块（permissions）

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

# ApplicationInf

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

## 属性：

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

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

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

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

- newTask: (Boolean 类型 )新任务模式标记

  可取值： true-使用新任务模式标记（FLAG_ACTIVITY_NEW_TASK）启动应用； false-不使用新任务模式标记（FLAG_ACTIVITY_NEW_TASK）启动应用。 默认值为true。 注意：由于5+应用配置的launchMode为singleTask，所以另一个5+应用通过plus.runtime.launchApplication启动时如果应用已经在后台运行则不会触发newintent事件，为了避免此问题需要将newTask参数值设置为false。

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

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

# BadgeOptions

JSON对象，应用角标显示需要的通知栏消息的参数

## 属性：

- title: (String 类型 )消息的标题

  默认值为应用的名称。

- content: (String 类型 )消息的内容

  默认值为“您有x条未读消息"”，其中x未设置的角标数字值。

# OpenFileOptions

JSON对象，打开文件参数

## 属性：

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

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

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

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

# WidgetInfo

JSON对象，应用信息

## 属性：

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

  对应manifest.json中的id字段值。

- version: (String 类型 )应用的版本名称

  对应manifest.json中的version->name字段值。

- versionCode: (String 类型 )应用的版本号

  对应manifest.json中的version->code字段值。

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

  对应manifest.json中的name字段值。

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

  对应manifest.json中的description字段值。

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

  对应manifest.json中的developer->name字段值。

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

  对应manifest.json中的developer->email字段值。

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

  对应manifest.json中的permissions字段下所有键名的列表。

# WidgetOptions

JSON对象，应用安装参数

## 说明：

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

## 属性：

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

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

# 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 ) 必选 应用信息
  包括应用名称、标识等属性。

## 返回值：

void : 无

# OpenErrorCallback

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

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

## 参数：

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

## 返回值：

void : 无

# LaunchErrorCallback

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

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

## 参数：

- error: ( DOMException ) 必选 操作失败的错误信息
  可通过error.code（Number类型）获取错误编码； 可通过error.message（String类型）获取错误描述信息。

## 返回值：

void : 无