我正在尝试对Android应用程序上的微处理器进行写入,并且发生了一些奇怪的事情。
首先,错误的日志如下:
Unhandled exception in callback
java.lang.NullPointerException
at android.bluetooth.BluetoothGatt.writeCharacteristic(BluetoothGatt.java:874)
at com.example.tannerhenry.standalone.ConfigurationActivity.setWriteSensor(ConfigurationActivity.java:248)
at com.example.tannerhenry.standalone.ConfigurationActivity.access$100(ConfigurationActivity.java:31)
at com.example.tannerhenry.standalone.ConfigurationActivity$4.onServicesDiscovered(ConfigurationActivity.java:289)
at android.bluetooth.BluetoothGatt$1.onSearchComplete(BluetoothGatt.java:295)
at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:215)
at android.os.Binder.execTransact(Binder.java:404)
at dalvik.system.NativeStart.run(Native Method)
经过一段时间的调试后,我注意到我试图写入的特性没有被发现,因此解释了为什么会发生空指针异常。
问题是,因为我在iPhone上下载了LightBlue并且出现了特征,因此该特性肯定会被宣传。这让我相信我在初始化特性方面犯了一个错误,但是在我从应用程序商店下载蓝牙LE扫描仪之后,它仍然以与我的应用程序相同的方式运行。
iOS和Android getCharacteristics的方式有区别吗?
注意:之前我遇到过此问题,解决方案是重新下载应用程序几次,最终读取了该特性。但我在我的平板电脑上做了一个清晰的数据,现在它正在做与以前相同的事情,重新下载这次没有修复它。
任何帮助将不胜感激,如有必要,我可以提供更多代码。
答案 0 :(得分:0)
通过手动忘记先前配对的设备并进行修复来解决问题。