更新记录

2.0.2(2021-11-18)

升级到2.0.2版本,修复Down和Up事件都回调的问题,增加 setInterceptKeyEvent() 拦截API,开发者可自行控制什么时候决定拦截,默认为true,就是拦截

2.0.1(2021-11-16)

修复开始监听时,会导致调一次onHide的Bug

2.0.0(2021-03-30)

优化插件代码

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 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原生插件配置”->”云端插件“列表中删除该插件重新选择


Tv按键监听 插件

本插件用于安卓TV上监听按键,支持按键有:

  • 上、下、左、右
  • 菜单
  • 返回
  • 确认

本项目只在TCL上测试通过。

插件使用

  • 获取插件对象
复制代码const TvControl = uni.requireNativePlugin("Tv-Control");
  • 开始监听(可在onLoad()中调用)
复制代码TvControl.watch({}, result => {
    //异常情况
    if (result.error) {
        return;
    }
    if (result.data.keyName) {
        let {
            keyName,
            keyCode
        } = result.data;
        if (keyName === 'onKeyBack') {
            //返回键
        } else if (keyName === 'onKeyEnter') {
            //确认键
        }  else if (keyName === 'onKeyLeft') {
            //向左键
        } else if (keyName === 'onKeyRight') {
            //向右键
        } else if (keyName === ('onKey' + 'Up')) {
            //向上键
        } else if (keyName === ('onKey' + 'Down')) {
            //向下键
        } else if (keyName === 'onKeyMenu') {
            //菜单键
        } else {
            //其他键
        }
    }
});
  • 取消监听(可在onUnload(),或onHide()中调用)
复制代码TvControl.stopWatch({}, result => {
});
  • 设置是否拦截按键事件,默认为true,如果设置为false,则交给UniApp框架处理按键事件
复制代码TvControl.setInterceptKeyEvent({
    isIntercept: true
}, result => {
    this.toast(JSON.stringify(result));
});

键码和对应事件

事件都以onKey,开头,例如返回键为onKeyBack,因为插件文档不知道为什么屏蔽Up和Down,会显示不出来,告知一下大家。

  • 返回键:4,onKeyBack
  • 确认键:23,onKeyEnter
  • 向左键:21,onKeyLeft
  • 向右键:22,onKeyRight
  • 向上键:19,onKey + Up
  • 向下键:20,onKey + Down
  • 菜单键:82,onKeyMenu

隐私、权限声明

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

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

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

jtbxdm (已付费)

2024-12-06

其他按键可以正常使用,但是音量键无法用了,请问如何解决?

659***@qq.com (已付费)

2024-06-11

电脑打正式包根本安不上 退钱

318***@qq.com (已付费)

2024-01-21

你好,请问TvControl.watch和TvControl.setInterceptKeyEvent方法的回调函数result返回的数据结构是怎么样的,两个事件在什么时候使用?

117***@qq.com (已付费)

2023-10-26

你好啊,我试用过程中,从页面A跑到页面B,到页面B能正常使用,然后返回到页面A失效。这个是什么原因

125***@qq.com (已付费)

2023-04-16

你好 麻烦发一份实例到yyzhou7979@163.com,现在的情况是是装到电视上不触发,没有任何反应,不知道是哪里报错了

lightsmoon (已付费)

2023-03-09

已购买,测试可以用,后续有什么问题再反馈!

zhiyi

2023-02-09

大佬,请问app切换了或者设备锁屏后还能监听到按键信息吗?

h2coder 2023-03-16

不行喔,只能监听app在前台展示时的按键事件

Sun_Y0n9

2022-10-31

发行时,可以选择原生App-制作应用wget包 么

h2coder 2023-03-16

应该是不行的,wget是热更新,只能热更新前端资源包,而原生插件是打包到基座的,要和apk打包在一起

恒有信息

2022-10-26

小米电视可以用吗??

h2coder 2023-03-16

目前只在TCL电视上测试过,可以选择插件试用,在小米电视上测试一下

124***@qq.com (已付费)

2022-02-13

很好,完美解决

2024-03-21

这个插件webview 嵌套的网页里 打包的APP可以用吗?

2022-10-02

正式打包后的apk在小米电视中提示:检测到安装包异常,无法安装.删除插件的引用部分后无此问题.请问如何解决? 电视系统版本MIUI 1.3.80 安卓版本6.0.1