j***@fchtech.com
j***@fchtech.com
  • 发布:2016-09-05 12:36
  • 更新:2018-09-08 22:40
  • 阅读:2904

native.js蓝牙扫描回调接口

分类:Native.js

var mScanCallback = plus.android.implements("android.bluetooth.BluetoothAdapter.LeScanCallback", {
"onLeScan": function(device, rssi, scanRecord) {
if(device != null) {
console.log("mScanCallback enter");
}
}
});

function scanARDWifi() {
console.log("scanARDWifi enter");
plus.android.importClass(BAdapter);
if(mScanCallback == null) {
console.log("mScanCallback is null");
}
BAdapter.startLeScan(mScanCallback);
}

调用scanARDWifi函数:
scanARDWifi enter at index.html:83
Uncaught Attempt to read from field 'java.lang.Class io.dcloud.invocation.c.b' on a null object reference;at android.bluetooth.BluetoothAdapter.startLeScan at index.html:1
看提示是空指针错误,搞不明白哪里有空指针的可能,给点提示?

如果不加回调
BAdapter.startLeScan(null);
这样就不报错,可没实际意义。

2016-09-05 12:36 负责人:无 分享
已邀请:
j***@fchtech.com

j***@fchtech.com (作者)

java中内部类反射调用方式中间符为'$'而不是'.',
知道原因了。。。。

  • s***@qq.com

    给个正确的例子啊?谢谢

    2016-09-21 14:48

m***@qq.com

m***@qq.com

我使用你的方法,怎么不能扫描出结果呢?你那里有结果吗?

  • j***@fchtech.com (作者)

    有返回的。不过负责蓝牙操作不建议用native.js,它没法映射虚类。蓝牙操作回调结果是虚类,只能用plugin来做了。

    2016-09-18 16:57

r***@163.com

r***@163.com

怎么使用 "onLeScan": function(device, rssi, scanRecord) 这里面的参数。直接用device.getName() ,会报错

sungny

sungny

device.getName() 前加上 plus.android.importClass(device);

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