dMultiScreen

来自于:开发者立即使用

概述

dMultiScreen 可以在多个显示屏下让其显示不同的内容,可在指定屏幕下让其运行指定的html,并支持在运行时通过方法来执行指定js,运行时如在同域名下,多个屏幕的db、cookie等将共享。
dMultiScreen 适用于需要多屏展示的场景下。

模块使用攻略

Android版本要求:>= Android4.4

dMultiScreen 所创建的视图并不支持官方所提供的方法,如:api等接口。

实例widget下载地址

模块接口

requestPermission

请求运行dMultiScreen所需的权限。注意:当没有权限时,只有requestPermission与searchList可用!

requestPermission(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    result: 'ok'      //字符串型;ok表示已获取权限
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: 'Permission android.permission.SYSTEM_ALERT_WINDOW is denied.'     //字符串型;提示出错的信息
}

示例代码

api.require('dMultiScreen').requestPermission(function(ret, err) {
    console.log(ret, err);
    if(ret && 'ok' == ret.result) {
        alert('获取权限成功');
    }
    else {
        alert(JSON.stringify(err));
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

searchList

搜索当前设备的所有显示器。

searchList(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON数组
  • 内部字段:
[
    {
        id:       //显示器序号
        name:     //显示器名称
        width:   //横向分辨率
        height:  //纵向分辨率
    }
]

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''     //字符串型;提示出错的信息
}

示例代码

api.require('dMultiScreen').searchList(function(ret, err) {
    if(err)
         alert(JSON.stringify(err));
    else
        alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

open

在指定显示器上运行网页。

open({params},callback(ret, err))

params

id:

  • 类型:整形数字
  • 描述:(可选) 默认为主屏幕,从searchList中得到的id赋值。

url:

  • 类型:字符串型
  • 描述:(必须) 加载指定页面,支持widget:// , https:// ,http:// 协议

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    result: 'ok'      //字符串型;ok表示加载成功
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''     //字符串型;提示出错的信息
}

示例代码

api.require('dMultiScreen').open({id:0, url:"https://www.baidu.com"}, function(ret, err) {
    if(err)
         alert(JSON.stringify(err));
    else
        alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

show

在指定的显示器上显示内容。

show({params},callback(ret, err))

params

id:

  • 类型:整形数字
  • 描述:(可选) 默认为主屏幕,从searchList中得到的id赋值。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    result: 'ok'      //字符串型;ok表示已显示
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''     //字符串型;提示出错的信息
}

示例代码

api.require('dMultiScreen').show({id:0}, function(ret, err) {
    if(err)
         alert(JSON.stringify(err));
    else
        alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

hide

在指定的显示器上隐藏内容。

hide({params},callback(ret, err))

params

id:

  • 类型:整形数字
  • 描述:(可选) 默认为主屏幕,从searchList中得到的id赋值。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    result: 'ok'      //字符串型;ok表示已隐藏
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''     //字符串型;提示出错的信息
}

示例代码

api.require('dMultiScreen').hide({id:0}, function(ret, err) {
    if(err)
         alert(JSON.stringify(err));
    else
        alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

invokeJs

在指定显示器上运行js函数。

invokeJs({params},callback(ret, err))

params

id:

  • 类型:整形数字
  • 描述:(可选) 默认为主屏幕,从searchList中得到的id赋值。

eval:

  • 类型:字符串型
  • 描述:(必须) 在指定显示器上所要运行的js字符串,运行结果只能返回字符串类型。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    result: ''      //字符串型;当有返回值时,result不为空
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''     //字符串型;提示出错的信息
}

示例代码

api.require('dMultiScreen').invokeJs({id:0,eval:"function a(){console.log('success!');return 'success!';} a();"}, function(ret, err) {
    if(err)
         alert(JSON.stringify(err));
    else
        alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本