Я пытаюсь запустить Android Sleep API Codelab ( исходный код на GitHub) для запуска непосредственно на Pixel Watch 2.
В разделе «Настройки» > «Система» > «О программе».
ОС Wear от Google 4.0
Модель Google Pixel Watch 2
В разделе «Настройки» > «Система» > «О программе» > «Версии».
Номер сборки TWD9.240205.001.A
Основные услуги Wear 1.8.1.561085711
Системный интерфейс 1.6.32.567711630
Сервисы Google Play 23.42.12 (240304-574052649)
Обновление безопасности Android от 5 марта 2024 г.
Я внес лишь незначительные изменения в AndroidManifest.xml для запуска на часах:
<uses-feature android:name = "android.hardware.type.watch" />
<meta-data android:name = "com.google.android.wearable.standalone" android:value = "true" />
Следуя инструкциям в кодовой лаборатории, при запуске этого кода:
val task = ActivityRecognition.getClient(context).requestSleepSegmentUpdates(
pendingIntent,
// Registers for both SleepSegmentEvent and SleepClassifyEvent data.
SleepSegmentRequest.getDefaultSleepSegmentRequest()
)
task.addOnSuccessListener {
mainViewModel.updateSubscribedToSleepData(true)
Log.d(TAG, "Successfully subscribed to sleep data.")
}
task.addOnFailureListener { exception ->
Log.d(TAG, "Exception when subscribing to sleep data: $exception")
}
Зарегистрировано следующее исключение:
Exception when subscribing to sleep data: java.lang.SecurityException: This API is not supported yet.
Что может привести к тому, что API не будет поддерживаться? Приложение Fitbit правильно записывает данные о сне в ночное время
Кажется, что он не поддерживается на носимых устройствах, если вы проверите https://developers.google.com/android/reference/com/google/android/gms/location/ActivityRecognitionClient#requestSleepSegmentUpdates(android.app.PendingIntent,%20com). .google.android.gms.location.SleepSegmentRequest)
Этот API не поддерживается для носимых устройств. Устройства с системной функцией PackageManager#FEATURE_WATCH не получают обратные вызовы обнаружения от этого API.