更新记录

2.1(2020-09-11)

1.移动权限控制

2(2020-09-08)

1.添加浮窗权限判断及跳转 2.添加支持打开hbuildx项目中的html静态资源 3.添加支持主副通讯功能(使用webSocket方式) 4.添加使用浮窗显示副屏内容可选开关(userAlert(false))

1.4(2020-08-12)

1.解决双屏显示在5.0系统上不能正常显示问题(测试通过)

查看更多

平台兼容性

Android Android CPU类型 iOS
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


手机调试时,打开开发者模式中的模拟显示

开发者选项-> 模拟二级显示-》1080p

本插件支持在副屏显示指定的在线网页及本地网页

支持通过webSocket方式进行主副屏通讯

体验地址

  1. 初始化
const screen = uni.requireNativePlugin('HG-multiScreen');
  1. 打开指定网页
 screen.userAlert(false);//设置是否使用alert弹窗方式打开副屏

打开在线页面

    screen.showURL("http://www.baidu.com");

打开本地页面1

    screen.showURL("file:///mnt/sdcard/aaa.html");

打开本地页面2

    screen.showURL("/mnt/sdcard/aaa.html");

打开当前项目静态html(注意需要将html放在不会被编译的文件夹下面)

   var path=plus.io.convertLocalFileSystemURL('/static/test.html');
    screen.showURL(path);

播放视频列表

 screen.playVideos({
    "list":[
        "http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4",
        "http://vfx.mtime.cn/Video/2019/03/21/mp4/190321153853126488.mp4",
        "http://vfx.mtime.cn/Video/2019/03/19/mp4/190319222227698228.mp4"
    ]
});
  1. 关闭异显

    screen.close();

    主副屏通讯功能

主屏代码

screen.userAlert(false);
var path=plus.io.convertLocalFileSystemURL('/static/test.html');
screen.showURL(path);
setTimeout(function(){
    uni.connectSocket({
        url:"ws://127.0.0.1:8081",

    });

uni.onSocketOpen(function (res) {
    console.log('WebSocket连接已打开!');
    uni.sendSocketMessage({
        data: 'playVideo',
        });
        setTimeout(function(){
            uni.sendSocketMessage({
                data: 'stop',
                });
        },4000);
});
uni.onSocketError(function (res) {
    console.log('WebSocket连接打开失败,请检查!');
}); 

uni.onSocketMessage(function (res) {
    console.log('收到服务器内容:' + res.data);
    uni.showToast({
    title:res.data,
    });
});
},2000);

副屏html代码 注意 副屏接收消息方式名称与参数不可修改成其它的,否则无法接收消息

//注意 副屏接收消息方式名称与参数不可修改成其它的,否则无法接收消息
function onRecievedMsg(data){

        //发送数据到主屏
        window.secondScreenObj.sendMsg('测试');

         //停止服务
         window.secondScreenObj.stopServer();

}
//开始websocket服务
window.secondScreenObj.startServer(8081);

隐私、权限声明

1. 本插件需要申请的系统权限列表:

1.网络权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问