更新记录
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:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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方式进行主副屏通讯
体验地址
- 初始化
const screen = uni.requireNativePlugin('HG-multiScreen');
- 打开指定网页
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"
]
});
-
关闭异显
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);