Java Android蓝牙LE禁用通知回调耗尽电池?
我正在开发一个连接到蓝牙低能设备的应用程序。该程序的体系结构要求它以突发方式从该设备收集数据。示例:每3分钟收集一次30秒的数据。 这是非常重要的,这是电池效率 对于此设备,我已从BluetoothGattCharacteristic订阅了通知。不幸的是,此特性未授予读取权限,因此必须使用通知Java Android蓝牙LE禁用通知回调耗尽电池?,java,android,bluetooth-lowenergy,battery,battery-saver,Java,Android,Bluetooth Lowenergy,Battery,Battery Saver,我正在开发一个连接到蓝牙低能设备的应用程序。该程序的体系结构要求它以突发方式从该设备收集数据。示例:每3分钟收集一次30秒的数据。 这是非常重要的,这是电池效率 对于此设备,我已从BluetoothGattCharacteristic订阅了通知。不幸的是,此特性未授予读取权限,因此必须使用通知 descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); mBluetoothGatt.writeDescr
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
mBluetoothGatt.writeDescriptor(descriptor);
及
我的第一个想法是简单地设置
mBluetoothGatt.setCharacteristicNotification(characteristic, false);
不扫描数据时。这还会消耗大量的电池寿命吗?我想回拨电话的人还在听。是否需要将描述符更改回其非通知状态
另一个想法是仅在从传感器读取数据时连接,完成后断开连接。这意味着每小时重新连接约20次。建议
我建议读取特征值,而不是将其设置为通知。通过这种方式,您只需要在需要来自BLE设备的数据时进行通信
问题
1) 您认为特征数据在设备端更改的频率如何
2) 您是否担心设备侧或手机电池的电量耗尽???谢谢您的回答。不幸的是,我感兴趣的特性只能通过通知查看(未授予读取权限)。1.特征信息通过通知每秒发送一次。2.最好两者都有,但在这种情况下,手机的电池更重要。广告数据中没有这个值吗?如果是这种情况,我建议每3分钟连接一次,并阅读特征通知。
mBluetoothGatt.setCharacteristicNotification(characteristic, false);