【发布时间】:2017-03-16 02:16:42
【问题描述】:
一切都在这里:https://github.com/evothings/cordova-ble/issues/134
我正在尝试将时间通过蓝牙发送到我的 rpi。
但我无法让evothings.ble.writeCharacteristic 工作,原因不明:/
我是这样使用 writeCharacteristic 的:
app.js
ui.append('Time is being updated ...');
device.writeCharacteristic(
app.SYSTEMINFORMATIONSERVICE,
characteristic_uuid,
new Uint8Array([1]),
function(){
ui.append('DONE', true);
},
function(error){
ui.append('ERROR', true);
ui.text('Warning : '+error);
}
);
显示“时间正在更新...”后应用崩溃
日志猫:
02-05 11:03:54.416 20011 20011 D BluetoothGatt: readCharacteristic() - uuid: ffffffff-ffff-ffff-ffff-fffffffffff1
02-05 11:03:54.577 1049 1049 E WifiTrafficPoller: TRAFFIC_STATS_POLL true Token 65 num clients 9
02-05 11:03:54.578 1049 1049 E WifiTrafficPoller: packet count Tx=94854 Rx=127944
02-05 11:03:54.670 2185 2206 I bt_btif_gatt: set_read_value unformat.len = 42
02-05 11:03:54.671 20011 20878 D BluetoothGatt: onCharacteristicRead() - Device=B8:27:EB:6C:4F:9C UUID=ffffffff-ffff-ffff-ffff-fffffffffff1 Status=0 srvcType=0 srvcInstId=0 charInstId=0
02-05 11:03:54.694 20011 20011 E AndroidRuntime: FATAL EXCEPTION: main
02-05 11:03:54.694 20011 20011 E AndroidRuntime: Process: com.evothings.evothingsviewer, PID: 20011
02-05 11:03:54.694 20011 20011 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.bluetooth.BluetoothGattCharacteristic.setWriteType(int)' on a null object reference
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at com.evothings.BLE$12.run(BLE.java:988)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:815)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:104)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at android.os.Looper.loop(Looper.java:207)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5728)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
02-05 11:03:54.694 20011 20011 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
在服务器端,一切都很好,只是没有调用 OnWriteRequest。所以android应用在发送信息之前就崩溃了。
【问题讨论】:
-
你的问题有点不清楚,理解起来有点复杂。尝试编辑它以更清楚地询问您想了解的内容。
-
你说得对,只是编辑了。它现在只显示当前问题。
标签: javascript android cordova bluetooth bluetooth-lowenergy