雍渡人
雍渡人
  • 发布:2022-01-24 10:00
  • 更新:2022-01-24 17:42
  • 阅读:501

【报Bug】plus.android调用红外问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.3.9

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: 华为

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
// #ifdef APP-PLUS    
var mainActivity = plus.android.runtimeMainActivity();  
var dlg = plus.android.newObject("android.hardware.ConsumerIrManager", mainActivity);  
// #endif  

// #ifdef APP-PLUS  
var res = plus.android.invoke( dlg , 'hasIrEmitter' );  
    if( !res ){  
     uni.showToast({  
        title: '手机不支持红外发射',  
            icon: 'none'  
        });  
    }  
// #endif

操作步骤:

就是现在调用这个红外服务,在判断一下这个是否可以

预期结果:

正常使用

实际结果:

始终提示手机不支持红外发射

bug描述:

5月份用plus.android调用安卓的红外服务,项目上线并正常使用,但是最新版的打包后没办法使用了 ,心脏病都要被气出来了

2022-01-24 10:00 负责人:无 分享
已邀请:
雍渡人

雍渡人 (作者)

到底咋个回事哦,硬是心脏病都要气出来了

DCloud_Android_ST

DCloud_Android_ST

建议你使用纯原生开发测试验证下。不排除与targetSdkVersion有关 目前默认targetSdkVersion是28了

  • 雍渡人 (作者)

    我开发不来存原生,我5月份打包了是没任何问题的,现在打包就是不得行了,代码是一点都没改过。targetSdkVersion这个东西是在哪里修改可以配置一下吗??麻烦指点一下

    2022-01-24 16:35

  • 雍渡人 (作者)

    之前var res = plus.android.invoke( dlg , 'hasIrEmitter' ); 这个判断是true,现在打包后返回的null,我换成之前的hbuilderx是返回true了 但是又发不出去东西,之前的app又可以发

    2022-01-24 16:42

雍渡人

雍渡人 (作者)

麻烦来个人帮忙解决一下嘛

DCloud_Android_ST

DCloud_Android_ST

你之前的NJS本身就不太符合标准。按以下方式改下试试
var mainActivity = plus.android.runtimeMainActivity();
var Context = plus.android.importClass("android.content.Context");
var ConsumerIrManager = plus.android.importClass("android.hardware.ConsumerIrManager");
var dlg = plus.android.runtimeMainActivity().getSystemService(Context.CONSUMER_IR_SERVICE);
var res = plus.android.invoke( dlg , 'hasIrEmitter' );

  • 雍渡人 (作者)

    好的我试试

    2022-01-25 14:47

该问题目前已经被锁定, 无法添加新回复