Mô phỏng dữ liệu cảm biến bằng Dịch vụ sức khoẻ

Sử dụng dữ liệu tổng hợp được tạo qua Dịch vụ sức khoẻ trên Wear OS để kiểm thử ứng dụng như thể một bài tập thể dục đang thực sự diễn ra.

Nếu đang kiểm thử trên một trình mô phỏng chạy Wear OS 4 (API 33) hoặc Wear OS 3 (API 30), thì bạn có thể sử dụng dữ liệu tổng hợp do trình mô phỏng tạo. Hãy tham khảo hướng dẫn sau để tìm hiểu thêm về sự khác biệt giữa việc tạo dữ liệu tổng hợp cho Wear OS 3 và Wear OS 4.

Sử dụng dữ liệu tổng hợp trên Wear OS 4

Nếu đang kiểm thử trên một trình mô phỏng chạy Wear OS 4 (API 33), thì bạn có thể sử dụng dữ liệu tổng hợp do trình mô phỏng tạo để kiểm thử ứng dụng. Việc này mang đến một số điểm cải tiến về cách dữ liệu tổng hợp được tạo trên Wear OS 3:

Sử dụng các chế độ điều khiển trong ứng dụng để bắt đầu, tạm dừng và kết thúc quá trình tạo dữ liệu tổng hợp.

Ngoài ra, xin lưu ý rằng trình mô phỏng tạo ra các giá trị dữ liệu giống nhau cho mỗi bài tập.

Mô phỏng sự kiện

Bạn có thể mô phỏng nhiều sự kiện trong trình mô phỏng, chẳng hạn như AUTO_PAUSE_DETECTED. Bạn có thể dùng lệnh sau để kích hoạt các sự kiện đó:

adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices

Sự kiện tổng hợp

Sự kiện

Khoá

Đã phát hiện thấy tính năng tự động tạm dừng

whs.AUTO_PAUSE_DETECTED

Đã phát hiện chế độ tự động tiếp tục

whs.AUTO_RESUME_DETECTED

Đã phát hiện tình trạng bị ngã

whs.FALL_OVER

Đã phát hiện giấc ngủ

whs.START_SLEEPING

Đã phát hiện ngừng ngủ

whs.STOP_SLEEPING

Đã phát hiện cú đánh gôn

whs.GOLF_SHOT

Ví dụ: bạn có thể sử dụng lệnh sau đây để kích hoạt một sự kiện tự động tạm dừng:

​​adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices

Đối với các sự kiện đánh gôn, bạn nên chỉ định các thông số bổ sung cho kiểu xích đu đánh gôn, như trình bày bên dưới:

Loại xích đu đánh gôn

Tham số

Loại gạt bóng

gạt bóng

Loại xích đu

một phần

Loại xích đu đầy đủ

tối đa

Thêm kiểu xoay người đánh gôn sau khi chỉ định sự kiện đánh gôn:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \
  "golf-swing-type-parameter" com.google.android.wearable.healthservices

Ví dụ: lệnh sau đây kích hoạt một cú đánh gôn một phần:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \
  com.google.android.wearable.healthservices

Sử dụng dữ liệu tổng hợp trên Wear OS 3

Nếu đang kiểm thử trên một trình mô phỏng chạy Wear OS 3, bạn cũng có thể sử dụng dữ liệu tổng hợp để kiểm thử ứng dụng của mình.

Bật tính năng tạo dữ liệu tổng hợp

Hoàn thành các bước sau để bật tính năng tạo dữ liệu tổng hợp trên Wear OS 3.

  1. Bật tuỳ chọn cho nhà phát triển.
  2. Phát lệnh adb sau để bật chế độ tổng hợp:

    adb shell am broadcast \
    -a "whs.USE_SYNTHETIC_PROVIDERS" \
    com.google.android.wearable.healthservices
    

Sau khi bật tính năng tạo dữ liệu tổng hợp, hãy phát các lệnh được mô tả trên trang này để kiểm soát hành vi của "người dùng dữ liệu tổng hợp".

Tắt tính năng tạo dữ liệu tổng hợp

Để quay lại sử dụng các cảm biến thực, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

Bài tập tổng hợp

Dịch vụ sức khoẻ hỗ trợ các loại bài tập thể dục sau:

  • Đi bộ: whs.synthetic.user.START_WALKING
  • Chạy: whs.synthetic.user.START_RUNNING
  • Đi bộ đường dài: whs.synthetic.user.START_HIKING
  • Bơi: whs.synthetic.user.START_SWIMMING
  • Chạy trên máy chạy bộ: whs.synthetic.user.START_RUNNING_TREADMILL

Bài tập sẽ tạo dữ liệu tổng hợp thực tế cho các loại dữ liệu sau:

  • Nhịp tim
  • Số bước/phút
  • Vị trí GPS sử dụng một tuyến đường mặc định
  • Thời lượng của hoạt động
  • Độ cao và số tầng

Ngoài ra, các trạng thái sau cũng được tạo:

  • Trạng thái ngủ – ngủ hoặc thức
  • Phát hiện tình trạng bị ngã

Bắt đầu

Để bắt đầu mô phỏng một bài tập thể dục, hãy phát đi thông báo thích hợp cho com.google.android.wearable.healthservices:

# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices

Mỗi hoạt động đều có các giá trị đặt trước cho các chỉ số được hỗ trợ:

Hoạt động Nhịp tim Tốc độ trung bình Thay đổi độ cao Dùng thông tin vị trí
Đi bộ 120 bpm 1.4 m/giây 20.0 m/phút đúng
Đang chạy 170 bpm 2.3 m/giây 20.0 m/phút đúng
Đi bộ đường dài 150 bpm 1.3 m/giây 20.0 m/phút đúng
Bơi 150 bpm 1.6 m/giây 0.0 m/phút đúng
Chạy trên máy chạy bộ 160 nhịp/phút 2.3 m/giây 20.0 m/phút false (sai)

Dừng

Để dừng hoạt động tổng hợp dữ liệu, hãy sử dụng lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

Tuỳ chỉnh

Để kiểm soát chính xác hơn những chỉ số được tạo, hãy bắt đầu một hoạt động tuỳ chỉnh về bài tập thể dục bằng chuỗi hành động whs.synthetic.user.START_EXERCISE. Cung cấp bất kỳ tổ hợp cờ nào sau đây:

  • --ei exercise_options_duration_secs <int>: thời lượng của bài tập tính bằng giây. Mặc định: 0.
  • --ei exercise_options_heart_rate <int>: nhịp tim tính theo số nhịp/phút. Trung bình: 70.
  • --ef exercise_options_average_speed <float>: tốc độ trung bình tính theo mét/giây. Đồng thời, cũng ảnh hưởng đến số bước/phút hoặc tần suất. Mặc định: 0.
  • --ez exercise_options_use_location <boolean>: có phát đi dữ liệu vị trí trong quá trình tập thể dục hay không thông qua tuyến đường mặc định. Mặc định: false.
  • --ef exercise_options_max_elevation_rate <float>: tốc độ thay đổi độ cao tối đa có thể tính bằng mét/phút. Mặc định: 0.

Ví dụ: đặt các tuỳ chọn bài tập thể dục theo cách sau:

adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices

Bạn cũng có thể thay đổi loại dữ liệu có sẵn, cho dù phần cứng thực hay phần cứng mô phỏng có hỗ trợ một loại dữ liệu cụ thể hay không. Ví dụ: bạn có thể bật hoặc tắt độ cao tuyệt đối, như minh hoạ trong đoạn mã sau:

# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices

# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices

Các trạng thái và sự kiện khác

Trạng thái ngủ

Bạn cũng có thể kích hoạt trạng thái ngủ cho người dùng dữ liệu tổng hợp. 2 trạng thái được hỗ trợ là ngủ và thức.

Để chuyển sang trạng thái ngủ, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

Để chuyển sang trạng thái thức, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices

Phát hiện tình trạng bị ngã

Để mô phỏng tình trạng bị ngã, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices

Có thể mất đến một phút để dịch vụ sức khoẻ thực hiện sự kiện ngã.