Ми Фит (MI Fit):
Обычная версия (MI):
Версия с пульсометром (MI1S):
Добавление слушателя отключения устройства
После подключения не обязательно устанавливать setUserInfo; можно использовать без него; setUserInfo приводит к отключению пульсометрового браслета, требуется исправление
Исправление проблемы вибрации; теперь есть три режима вибрации: три светодиода вспыхивают дважды, без светодиодов вибрирует дважды, средний светодиод вибрирует десять раз; во время вибрации можно в любое время остановить с помощью stop
Данные с акселерометра недоступны
Пульсометровый браслет, кажется, имеет одноканальный светодиод, невозможно установить цвет светодиода; стандартный браслет позволяет это делать### 1.0.07171543 - 2015-08-17
Получение данных с акселерометра
// Инициализация
MiBand miband = new MiBand(context);
// Сканирование ближайших устройств
final ScanCallback scanCallback = new ScanCallback()
{
@Override
public void onScanResult(int callbackType, ScanResult result)
{
BluetoothDevice device = result.getDevice();
Log.d(TAG,
"Найдено ближайшее Bluetooth устройство: имя: " + device.getName() + ", uuid: "
+ device.getUuids() + ", адрес: "
+ device.getAddress() + ", тип: "
+ device.getType() + ", состояние связи: "
+ device.getBondState() + ", Rssi: " + result.getRssi());
// Отображение в зависимости от ситуации
}
};
MiBand.startScan(scanCallback);
// Остановка сканирования
MiBand.stopScan(scanCallback);
// Подключение, указание одного из ранее найденных устройств
miband.connect(device, new ActionCallback() {
@Override
public void onSuccess(Object data)
{
Log.d(TAG,"Подключение выполнено успешно");
}
@Override
public void onFail(int errorCode, String msg)
{
Log.d(TAG,"Подключение не выполнено, код ошибки: " + errorCode + ", сообщение: " + msg);
}
});
```// Установка слушателя отключения для удобства переподключения или других действий при отключении устройства
miband.setDisconnectedListener(new NotifyListener()
{
@Override
public void onNotify(byte[] data)
{
Log.d(TAG,
"Соединение разорвано!!!"); // Connection disconnected!!!
}
});
```// Установка слушателя уведомлений о результатах сканирования частоты сердечных сокращений
miband.setHeartRateScanListener(new HeartRateNotifyListener()
{
@Override
public void onNotify(int heartRate)
{
Log.d(TAG, "Частота сердечных сокращений: " + heartRate);
}
});
// Начало сканирования частоты сердечных сокращений
miband.startHeartRateScan();
// Чтение и получение значения сигнала RSSI для подключения к устройству
miband.readRssi(new ActionCallback() {
@Override
public void onSuccess(Object data)
{
Log.d(TAG, "RSSI:" + (int) data);
}
@Override
public void onFail(int errorCode, String msg)
{
Log.d(TAG, "Чтение RSSI неудачно");
}
});
// Чтение информации о заряде батареи
miband.getBatteryInfo(new ActionCallback() {
@Override
public void onSuccess(Object data)
{
BatteryInfo info = (BatteryInfo) data;
Log.d(TAG, info.toString());
// cycles:4, level:44, status:unknown, last:2015-04-15 03:37:55
}
@Override
public void onFail(int errorCode, String msg)
{
Log.d(TAG, "Чтение информации о заряде батареи неудачно");
}
});
// Вибрация 2 раза, три светодиода светятся
miband.startVibration(VibrationMode.VIBRATION_WITH_LED);
// Вибрация 2 раза, светодиоды не светятся
miband.startVibration(VibrationMode.VIBRATION_WITHOUT_LED);
// Вибрация 10 раз, светодиод светится синим цветом
miband.startVibration(VibrationMode.VIBRATION_10_TIMES_WITH_LED);
// Остановка вибрации, вызов этого метода останавливает вибрацию в любое время
miband.stopVibration();
// Получение обычного уведомления, data обычно имеет длину 1, значение представляет тип уведомления, типы пока не собраны
miband.setNormalNotifyListener(new NotifyListener() {
@Override
public void onNotify(byte[] data)
{
Log.d(TAG, "NormalNotifyListener:" + Arrays.toString(data));
}
});// Получение уведомления о текущих шагах, настройка выполняется в два этапа:
// 1. Установка слушателя уведомлений
miband.setRealtimeStepsNotifyListener(new RealtimeStepsNotifyListener() {
@Override
public void onNotify(int steps)
{
Log.d(TAG, "RealtimeStepsNotifyListener:" + steps);
}
});
// 2. Включение уведомлений
miband.enableRealtimeStepsNotify();
// Отключение (остановка) уведомлений о текущих шагах, повторное включение требует повторного вызова miband.enableRealtimeStepsNotify()
miband.disableRealtimeStepsNotify();// Установка цвета LED: оранжевый, синий, красный, зелёный
miband.setLedColor(LedColor.ORANGE);
miband.setLedColor(LedColor.BLUE);
miband.setLedColor(LedColor.RED);
miband.setLedColor(LedColor.GREEN);
// Получение исходных данных сенсора гравитации, требуется два шага
// 1. Установка слушателя
miband.setSensorDataNotifyListener(new NotifyListener()
{
@Override
public void onNotify(byte[] data)
{
int i = 0;
int index = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8; // Индекс
int d1 = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;
int d2 = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;
int d3 = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;
}
});
// 2. Включение
miband.enableSensorDataNotify();
// Установка UserInfo, кажется, это не имеет большого значения, можно выполнять другие действия без парирования
// И при вспышке браслета, нужно постучать по браслету; как при парировании в официальном приложении
UserInfo userInfo = new UserInfo(20111111, 1, 32, 180, 55, "Пухляш Лян", 1);
miband.setUserInfo(userInfo);
// Парирование, кажется, это не имеет большого значения, можно выполнять другие действия без парирования
miband.pair(new ActionCallback() {
@Override
public void onSuccess(Object data)
{
changeStatus("pair succ");
}
@Override
public void onFail(int errorCode, String msg)
{
changeStatus("pair fail");
}
});Тип документа для перевода: markdown
Язык исходного текста: китайский
Язык финального текста должен быть: русский
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )