API Reference

Plugins

Native.js


stream

Stream模块操作流应用。

方法:

事件:

对象:

回调方法:

模块:

5+功能模块(permissions)


{
// ...
"permissions":{
	// ...
	"Stream": {
		"description": "流应用"
	}
}
}
			

open

启动流应用


void plus.stream.open(options, successCallback, errorCallback);
				

说明:

打开指定的流应用,在流应用中通过plus.runtime.launcher获取的值为"stream"。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 启动流应用
function openStream(){
	var id='HelloH5';//Hello H5+流应用
	plus.stream.open({appid:id},function(){
		console.log('open stream success: '+id);
	},function(e){
		console.log('open stream failed: '+id+' - '+JSON.stringify(e));
	});
}
	</script>
	</head>
	<body>
		<button onclick="openStream()">启动流应用</button>
	</body>
</html>
				

activate

流应用激活统计


void plus.stream.activate();
				

说明:

提交统计数据到流应用服务器,表明业务系统激活成功。

参数:

返回值:

void : 无

list

已下载流应用列表


void plus.stream.list(options, successCallback, errorCallback);
				

说明:

获取当前设备上已安装的所有流应用。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 获取流应用列表
function listStream(){
	plus.stream.list({},function(e){
		console.log('stream list: '+JSON.stringify(e));
	},function(e){
		console.log('stream list failed: '+JSON.stringify(e));
	});
}
	</script>
	</head>
	<body>
		<button onclick="listStream()">获取流应用列表</button>
	</body>
</html>
				

preload

预加载流应用


void plus.stream.preload(appid);
				

说明:

预加载指定的流应用资源,下载应用资源等,并不运行流应用。 如果应用资源已经下载,则不做任何操作。

参数:

返回值:

void : 无

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 预加载流应用
function preloadStream(){
	var id='HelloH5';//Hello H5+流应用
	plus.stream.preload(id);
}
	</script>
	</head>
	<body>
		<button onclick="preloadStream()">预加载流应用</button>
	</body>
</html>
				

remove

删除流应用


void plus.stream.remove(appid);
				

说明:

删除已下载的流应用,清空应用相关运行期保存的资源(如缓存、配置文件等)。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 删除流应用
function removeStream(){
	var id = 'HelloH5';
	plus.stream.remove(id);
}
	</script>
	</head>
	<body>
		<button onclick="removeStream()">删除流应用</button>
	</body>
</html>
				

setRestoreState

设置流应用恢复运行的参数


void plus.stream.setRestoreState(options);
				

说明:

当流应用运行数目超过限制(通常最多运行2个流应用),会自动关闭之前切换到后台运行的应用。 可通过此方法设置应用被自动关闭后再次被唤醒恢复运行时的参数,流应用恢复运行流程与第一次启动一致(差别是会使用StreamRestoreOptions中配置的参数)。 如果没有调用setRestoreState方法,则恢复运行时使用启动时(调用plus.stream.open方法)传入的参数。 注意:如果通过plus.stream.open方法启动应用,则忽略此方法设置的参数。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 监听应用切换到后台事件
document.addEventListener("background", function(){
	// 设置应用被自动关闭后恢复的参数
	plus.stream.setRestoreState({
		extras:"plus.runtime.arguments中可获取的扩展参数",
		styles:{
			blockNetworkImage:true
		}
	});
}, false);
	</script>
	</head>
	<body>
		设置流应用恢复运行的参数
	</body>
</html>
				

freetrafficRequest

请求免流量验证码


void plus.stream.freetrafficRequest(options, successCallback, errorCallback);
				

参数:

返回值:

void : 无

平台支持:

freetrafficBind

免流量绑定手机号


void plus.stream.freetrafficBind(options, successCallback, errorCallback);
				

参数:

返回值:

void : 无

平台支持:

freetrafficRelease

解除免流量绑定


void plus.stream.freetrafficRelease();
				

说明:

解除当前设备绑定的手机号,如果设备未绑定则不执行操作。

参数:

返回值:

void : 无

平台支持:

freetrafficInfo

获取免流量状态信息


void plus.stream.freetrafficInfo(successCallback, errorCallback);
				

参数:

返回值:

void : 无

平台支持:

freetrafficIsValid

免流量是否生效


Boolean plus.stream.freetrafficIsValid();
				

参数:

返回值:

Boolean : false表示免流量不生效,true表示免流量生效。

平台支持:

onfreetrafficStateChange

免流量状态变化事件


plus.stream.onfreetrafficStateChange = function(event){
	// succss code.
	var state = event.state;   // 免流量状态值,根据360规范返回
}
				

说明:

freetrafficStateChange 类型

StreamOptions

JSON对象,启动流应用参数


interface plus.stream.StreamOptions {
	attribute String appmode;
	attribute String appid;
	attribute String directPage;
	attribute String extras;
	attribute String icon;
	attribute String launcher;
	attribute String splash;
	attribute LaunchWebviewStyles styles;
	attribute String title;
}
				

说明:

指定要启动的流应用标识、名称、图标、参数等信息。

属性:

StreamRestoreOptions

JSON对象,流应用恢复运行的参数


interface plus.stream.StreamRestoreOptions {
	attribute String extras;
	attribute String splash;
	attribute StreamRestoreSplashscreenOptions splashscreen;
	attribute LaunchWebviewStyles styles;
}
				

说明:

设置流应用恢复运行时的参数、splash、首页等信息。

属性:

StreamRestoreSplashscreenOptions

流应用恢复运行时启动界面配置参数


interface plus.stream.StreamRestoreSplashscreenOptions {
	attribute Boolean autoclose;
	attribute Number timeout;
}
				

说明:

设置流应用恢复运行时启动界面,如是否自动关闭、延时关闭时间、超时时间等。

属性:

LaunchWebviewStyles

JSON对象,启动流应用的首页窗口属性

属性:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 启动流应用
function openStream(){
	var id='HelloH5';//Hello H5+流应用
	plus.stream.open({appid:id,styles:{blockNetworkImage:true,visible:false}},function(){
		console.log('open stream success: '+id);
	},function(e){
		console.log('open stream failed: '+id+' - '+JSON.stringify(e));
	});
}
	</script>
	</head>
	<body>
		<button onclick="openStream()">启动流应用</button>
	</body>
</html>
				

StreamInfo

JSON对象,流应用信息


interface plus.stream.StreamInfo {
	attribute String id;
	attribute String icon;
	attribute Boolean complete;
}
				

说明:

流应用标识、图标、是否下载完成等信息。

属性:

FreetrafficOptions

JSON对象,免流量操作参数


interface plus.stream.FreetrafficOptions {
	attribute String phone;
	attribute String code;
}
				

说明:

包含电话号码、验证码等信息。

属性:

StreamSuccessCallback

流应用操作成功的回调函数


void onSuccess( event ) {
	// succss code.
}
				

参数:

返回值:

void : 无

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 启动流应用
function openStream(){
	var id='HelloH5';//Hello H5+流应用
	plus.stream.open({appid:id},function(){
		console.log('open stream success: '+id);
	},function(e){
		console.log('open stream failed: '+id+' - '+JSON.stringify(e));
	});
}
	</script>
	</head>
	<body>
		<button onclick="openStream()">启动流应用</button>
	</body>
</html>
				

FreetrafficSuccessCallback

免流量操作成功回调函数


void onSuccess() {
	// succss code.
}
				

参数:

返回值:

void : 无

StreamErrorCallback

流应用启动失败的回调函数


function void onError( Exception error ) {
	// Handle error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}
				

参数:

返回值:

void : 无

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Stream Example</title>
	<script type="text/javascript">
function plusReady(){
	// 扩展API加载完毕,现在可以正常调用扩展API
}
if(w.plus){
	plusReady();
}else{
	document.addEventListener('plusready',plusReady,false);
}
// 启动流应用
function openStream(){
	var id='HelloH5';//Hello H5+流应用
	plus.stream.open({appid:id},function(){
		console.log('open stream success: '+id);
	},function(e){
		console.log('open stream failed: '+id+' - '+JSON.stringify(e));
	});
}
	</script>
	</head>
	<body>
		<button onclick="openStream()">启动流应用</button>
	</body>
</html>