gpt4 book ai didi

java - Android 监听器(读取小米波段传感器数据)

转载 作者:行者123 更新时间:2023-12-03 21:34:16 25 4
gpt4 key购买 nike

我想从 mi band 获取真实的传感器(加速)数据。

我从 github 找到了很好的源代码。但有一个问题。

https://github.com/pangliang/miband-sdk-android

MainActivity.java

else if (position == menuIndex++) {
Log.d(TAG, "setRealtimeStep");
miband.setRealtimeStepsNotifyListener(new RealtimeStepsNotifyListener() {
@Override
public void onNotify(int steps) {
Log.d(TAG, "RealtimeStepsNotifyListener:" + steps);
}
});

Miband.java
public void setSensorDataNotifyListener(final NotifyListener listener) {
Log.d(TAG, "MiBand.java->setSensorDataNotifyListener");
this.io.setNotifyListener(Profile.UUID_SERVICE_MILI, Profile.UUID_CHAR_SENSOR_DATA, new NotifyListener() {

@Override
public void onNotify(byte[] data) {
Log.d(TAG, "MiBand.java->setSensorDataNotifyListener->onNotify");
Log.d(TAG, data.toString());
listener.onNotify(data);
}
});
}

蓝牙IO.java
public void setNotifyListener(UUID serviceUUID, UUID characteristicId, NotifyListener listener) {
if (null == gatt) {
Log.e(TAG, "connect to miband first");
return;
}

BluetoothGattCharacteristic chara = gatt.getService(serviceUUID).getCharacteristic(characteristicId);
if (chara == null) {
Log.e(TAG, "characteristicId " + characteristicId.toString() + " not found in service " + serviceUUID.toString());
return;
}


this.gatt.setCharacteristicNotification(chara, true);
BluetoothGattDescriptor descriptor = chara.getDescriptor(Profile.UUID_DESCRIPTOR_UPDATE_NOTIFICATION);
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
this.gatt.writeDescriptor(descriptor);
this.notifyListeners.put(characteristicId, listener);

在这段代码中,我不知道哪一行可以获取传感器数据。
我不知道应该在哪里添加“OnNotify(data)”

如果您有任何线索,请帮助我。
谢谢!

最佳答案

您必须调用 onNotify在您的 onDescriptorWrite回调,您可以在其中验证描述符的 UUID 及其特征的 UUID
引用 this

关于java - Android 监听器(读取小米波段传感器数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38291035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com