傲搏易
傲搏易
  • 发布:2022-03-03 18:51
  • 更新:2023-03-30 17:33
  • 阅读:1413

plus.android.implements实现的接口无法执行

分类:uni-app

function test(){  

    let hevent = plus.android.implements( "android.content.DialogInterface.OnClickListener", {  
        "onClick":function( var1,var2 ){  
            console.log( "我被点击了" );  
        }  
    } );  
    // 导入AlertDialog类  
    var AlertDialog = plus.android.importClass("android.app.AlertDialog");  
    // 创建提示框构造对象,构造函数需要提供程序全局环境对象,通过plus.android.runtimeMainActivity()方法获取  
    var dlg = new AlertDialog.Builder(plus.android.runtimeMainActivity());  
    // 设置提示框标题  
    dlg.setTitle("自定义标题");  
    // 设置提示框内容  
    dlg.setMessage("使用NJS的原生弹出框,可自定义弹出框的标题、按钮");  
    // 设置提示框按钮  
    dlg.setPositiveButton("确定(或者其他字符)",hevent);  
    // 显示提示框  
    dlg.show();  
}

上面的代码是拿官方示例代码修改的,就只是增加了按钮点击事件的实现。但添加后,按钮直接不显示了。
应该是 这一行代码报错。请问这个怎么解决?

dlg.setPositiveButton("确定(或者其他字符)",hevent);
2022-03-03 18:51 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

没引入吧

傲搏易

傲搏易 (作者)

引入了呀

dafeizhu

dafeizhu

接口实现那改一下

plus.android.implements( "android.content.DialogInterface$OnClickListener", {    
    "onClick":function( var1,var2 ) {    
        console.log( "我被点击了" );    
    }    
});  
x***@crjz.com

x***@crjz.com

为啥我的写法也没问题,我参照了Android原生写法,原生能够正常实现接口,为啥这里计步器的监听一直失败,ACTIVITY_RECOGNITION权限已经动态申请了,代码如下:

    plus.android.importClass('android.content.Context')  
    plus.android.importClass('android.hardware.SensorEvent')  
    plus.android.importClass('android.hardware.SensorEventListener')  
    plus.android.importClass('android.hardware.SensorManager')  
    plus.android.importClass('android.hardware.Sensor')  
    this.main = plus.android.runtimeMainActivity()  
    const Context = plus.android.importClass('android.content.Context')  
    const Sensor = plus.android.importClass('android.hardware.Sensor')  
    const SensorManager = plus.android.importClass('android.hardware.SensorManager')  
    this.mSensorManager = this.main.getSystemService(Context.SENSOR_SERVICE)  
    this.stepCount = this.mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)  
    this.mListener = plus.android.implements('android.hardware.SensorEventListener', {  
      onSensorChanged: function (e) {  
        console.log(e.values[0]) // todo 获取步数此处一直无法获取,原因不详  
      },  
      onAccuracyChanged: function (e) {},  
    })  
    this.mSensorManager.registerListener(this.mListener, this.stepCount, SensorManager.SENSOR_DELAY_NOMAL)
  • x***@crjz.com

    SENSOR_DELAY_NOMAL改成SENSOR_DELAY_NORMAL,这里漏了个字符,不过也是不生效

    2023-02-01 17:51

y***@163.com

y***@163.com

解决了吗 ,不执行啊

要回复问题请先登录注册