在 Wear OS 上使用健康照護服務產生的合成資料來測試應用程式 運動確實發生了
如果您使用搭載 Wear OS 3 (API 級別 30) 以上版本的模擬器進行測試, 可以使用模擬器產生的合成資料請參閱下列資訊 指南,進一步瞭解不同指標的合成資料產生差異 Wear OS 3 以上版本。
在 Wear OS 4 以上版本使用合成資料
如果您使用搭載 Wear OS 4 (API 級別 33) 以上版本的模擬器進行測試, 可以使用模擬器產生的合成資料來測試應用程式。這個 針對合成資料的產生方式提供多項改善 舊版 Wear OS:
Wear OS 4 以上版本的合成資料已整合至 Health Services API 生命週期。這表示您不需要使用 ADB 啟動或停止運動。不過,您可以改為啟動或停止 使用者就能在應用程式中實際操作
擴大運動事件的支援範圍:您可以模擬接收自動暫停 並繼續事件 落地事件 睡眠偵測, 和高爾夫鏡頭偵測。
使用健康照護服務感應器面板
Android Studio Koala 功能推送 (Canary 版) 包含 Wear OS 感應器面板的健康照護服務。這個面板可用來模擬 裝置是否具有特定感應器功能,這一點非常重要 ,在 Wear OS 上建構健身應用程式時進行測試。
您也可以使用這個面板來變更指標值,並觀察 應用程式調整。
如要開啟並使用這個面板,請按照下列步驟操作:
- 建立或開啟 Android 虛擬裝置 (AVD) 並在模擬器上執行應用程式。
- 在模擬器面板中,選取「Wear Health Services」。
「Wear 健康照護服務」面板 開啟後,畫面會顯示在不同裝置上 Android 裝置。
面板開啟後,你可以執行下列操作:
- 切換標準功能。 所有功能 (預設) 或 [自訂]。選取「套用」,即可將 列出模擬裝置目前的功能清單,然後選取「重設」 並將功能清單還原為預設的開啟值。
- 選取「觸發事件」後,觸發不同的使用者事件 下拉式選單按鈕您可以在這裡觸發自動暫停/繼續健身功能 活動、觸發睡眠事件,以及觸發高爾夫球照 例如高爾夫球場或迷你高爾夫球場
- 在已安裝的應用程式中開始運動後,覆寫感應器值 。為不同的運動指標輸入新的值後, 選取「Apply」,將這些值與模擬器同步。這對於使用者 測試應用程式如何處理不同運動條件和使用者健身 趨勢
使用模擬器產生合成資料
您也可以在沒有感應器面板的情況下執行應用程式 由模擬器自動產生。
使用應用程式內的控制項,開始、暫停及結束合成資料產生作業。
另請注意,模擬器會為每項運動產生相同的資料值。
模擬事件
您可以在模擬器中模擬各種事件,例如 AUTO_PAUSE_DETECTED
。
使用下列指令即可觸發這些事件:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
綜合事件
活動 |
鍵 |
---|---|
偵測到自動暫停 |
|
偵測到自動恢復 |
|
偵測到跌倒情形 |
|
偵測到睡眠 |
|
偵測到睡眠停止 |
|
偵測到高爾夫球 |
|
例如,您可以使用以下指令觸發自動暫停事件:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
針對高爾夫球型事件,應指定其他參數,高爾夫球桿縮放類型、 概要說明如下:
高爾夫球鞦韆類型 |
參數 |
---|---|
揮桿類型 |
推桿 |
局部鞦韆類型 |
部分畫面 |
揮桿全類型 |
100% |
指定高爾夫球桿事件後,請新增高爾夫球揮桿類型:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
舉例來說,下列指令會觸發局部高爾夫球賽:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
在 Wear OS 3 上使用合成資料
如果是在搭載 Wear OS 3 的模擬器上進行測試,也可以使用合成 測試應用程式
啟用合成資料產生功能
如要在 Wear OS 3 上產生合成資料,請完成下列步驟。
- 啟用開發人員選項。
發送以下
adb
指令,啟用合成模式:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
啟用合成資料產生功能後,請發出 」頁面,控制「綜合廣告使用者」的行為。
停用綜合資料產生功能
如要切換回真實感應器,請執行以下指令:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
綜合運動
健康照護服務支援下列運動類型:
- 步行:
whs.synthetic.user.START_WALKING
- 跑步:
whs.synthetic.user.START_RUNNING
- 健行:
whs.synthetic.user.START_HIKING
- 游泳:
whs.synthetic.user.START_SWIMMING
- 在跑步機跑步:
whs.synthetic.user.START_RUNNING_TREADMILL
這些運動會產生下列資料類型的實際合成資料:
- 心率
- 每分鐘步數
- GPS 位置 (使用單一預設路徑)
- 活動持續時間
- 高度與樓層數
此外,還可以產生下列狀態:
- 睡眠狀態:睡著或清醒
- 跌倒偵測
開始
如要開始模擬運動,請發出適當的廣播訊息給
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
每項活動支援的指標都具有預設值:
Activity | 心率 | 平均速度 | 高度變更 | 使用位置資訊 |
---|---|---|---|---|
步行 | 120 bpm | 1.4 公尺/秒 | 20.0 公尺/分 | true |
執行中 | 170 bpm | 2.3 公尺/秒 | 20.0 公尺/分 | true |
健行 | 150 bpm | 1.3 公尺/秒 | 20.0 公尺/分 | true |
游泳 | 150 bpm | 1.6 公尺/秒 | 0.0 公尺/分 | true |
在跑步機上跑步 | 160 bpm | 2.3 公尺/秒 | 20.0 公尺/分 | false |
停止
請使用以下指令停止綜合活動:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
自訂
如要更精確地控制要產生的指標,請建立自訂指標
使用動作字串 whs.synthetic.user.START_EXERCISE
的運動活動。
請提供下列標記的任意組合:
--ei exercise_options_duration_secs <int>
: 運動持續時間,單位為秒預設值:0
。--ei exercise_options_heart_rate <int>
: 心率,單位為每分鐘心跳數。平均值:70
。--ef exercise_options_average_speed <float>
: 以公尺/秒為單位。這個標記也會影響每分鐘步數或「頻率」。 預設值:0
。--ez exercise_options_use_location <boolean>
: 是否要在運動期間使用預設路徑發出位置資料。 預設值:false
。--ef exercise_options_max_elevation_rate <float>
: 可能的高度變更率上限,單位為每分鐘公尺數。預設值:0
。
舉例來說,您可以透過以下方式設定運動選項:
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
也能變更可用的資料類型 實際或模擬硬體並不支援特定資料類型。 舉例來說,您可以啟用或停用絕對高度 如以下程式碼片段所示:
# 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
其他狀態和事件
睡眠狀態
您也可以觸發合成資料使用者的睡眠狀態。有兩個州別 支援:睡著與清醒。
如要進入睡著狀態,請執行下列指令:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
如要進入清醒狀態,請執行下列指令:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
跌倒偵測
如要模擬跌倒情況,請執行下列指令:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
健康照護服務最多需要一分鐘才能傳送跌倒事件。
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- SourceType
- ArithmeticExpression
- ListConfiguration