規劃支援不同類型的 AI 眼鏡

適用 XR 裝置
這份指南可協助您為這類 XR 裝置打造體驗。
AI 眼鏡

不同類型的 AI 眼鏡具備不同功能。舉例來說,所有 AI 眼鏡都提供語音音訊體驗,但部分 AI 眼鏡也具備螢幕,可顯示應用程式的 Jetpack Compose Glimmer 建構的 UI

為確保使用者在各種 AI 眼鏡裝置上都能享有流暢體驗,請規劃Activity眼鏡,檢查不同裝置的功能。這種做法可讓您建構一個能調整行為的活動,而非針對特定裝置的多個活動,因此可簡化開發程序。

瞭解預測活動的生命週期

您為 AI 眼鏡建構的活動不會直接在裝置上執行,而是從主機裝置 (例如使用者的手機) 投影到裝置上。您為此目的建立的專屬活動是預估活動。投影活動的生命週期是以標準活動生命週期為基礎,但也有幾項重大差異,可支援不同類型 AI 眼鏡的功能。

圖 1. 預計活動生命週期的重要事件。

以下是重要事件的細目,並標註預計在 AI 眼鏡上進行的活動專屬互動:

  • onCreate()
    • 投影活動建立時呼叫。
    • 在此初始化應用程式的 Jetpack Compose Glimmer UI 和其他元件。
  • onStart()
    • 在投影活動開始時呼叫,且使用者知道應用程式。
  • onResume()
    • 當投影活動重新取得焦點時呼叫。活動處於焦點時,可進行互動,並可使用觸控板或按鈕輸入內容。
    • 在先前從頭上取下眼鏡 (卸除) 後,當眼鏡重新戴上 (戴上) 時呼叫。
  • onPause()
    • 當投影活動失去焦點,但使用者仍知道您的應用程式時,系統會呼叫這個方法。活動失去焦點時,無法互動,且會停止接收輸入內容。
  • onStop()
    • 當系統認為使用者已不再注意您的應用程式時,就會呼叫這個方法。
    • 當眼鏡從頭上取下 (脫下) 時呼叫。
  • onDestroy()
    • 即將刪除投影活動時呼叫。呼叫這個方法時,系統會釋出與活動相關的所有資源。

瞭解螢幕顯示狀態如何影響預計的活動生命週期

在標準 Activity 中,裝置螢幕關閉時,生命週期狀態會變更,通常會移至 onPause()onStop()。相較之下,當 AI 眼鏡的螢幕開啟或關閉時,預計的活動生命週期不會改變。這表示即使螢幕關閉,預計的活動仍會繼續以「已啟動」或「已恢復」狀態執行,讓應用程式的音訊體驗不會中斷。

由不同系統和使用者事件觸發的其他活動狀態變更,則會照常運作。

瞭解使用者認知度對預估活動的影響

即使預計活動未顯示,使用者仍可得知。感知是指使用者感知及與應用程式體驗互動的所有方式,包括:

  • 聆聽音訊、音效回饋或其他音效提示。
  • 會觸發面向使用者的 LED 燈的應用程式動作,例如應用程式存取攝影機或麥克風時的隱私權指標。

在這些情況下,即使使用者沒有看著螢幕,也會知道 AI 眼鏡處於啟用狀態並做出回應:

  • 預計活動的 onStart() 狀態表示活動有效。
  • onResume() 狀態表示活動可互動,且可接收觸控板輸入內容,或正在接收主要輸入內容調度。

只要使用者知道您的應用程式,您的活動就會保持有效並處於前景。如果系統在短時間內未偵測到任何意識信號,就會將活動從前景中移除,並最終觸發 onStop()

瞭解預計活動和預計情境

AI 眼鏡視為連線裝置,可擴充使用者手機的功能。投影情境是裝置感知的 Context,可讓應用程式與連線眼鏡裝置上的硬體 (例如感應器、相機或麥克風) 互動,而非手機的硬體。為 AI 眼鏡開發體驗時,應用程式必須使用投影內容存取眼鏡硬體。

系統會根據呼叫活動的環境,自動將預測環境授予應用程式:

  • 針對投影活動:如果應用程式的程式碼是從投影活動中執行,活動內容本身就是投影內容。在這種情況下,該活動內發出的呼叫已可存取眼鏡的硬體。

  • 手機應用程式或服務:如果應用程式中投影活動以外的部分 (例如手機活動或服務) 需要存取智慧眼鏡的硬體,就必須明確取得投影內容。如要執行這項操作,請使用 createProjectedDeviceContext() 方法。

詳情請參閱「使用投影情境存取 AI 眼鏡的硬體」。

瞭解裝置感知 API

部分標準 Android API 會根據呼叫活動的 Context,變更存取的裝置硬體。當這些 API 收到投影的內容時,會存取 AI 眼鏡的硬體,而不是主機手機裝置的硬體:

  • CameraManager:存取眼鏡上的攝影機。
  • SensorManager:從眼鏡擷取感應器資料 (例如陀螺儀或加速計資料)。
  • AudioManager:管理眼鏡上的音訊串流、音量和路徑。
  • AudioRecord:使用眼鏡的麥克風擷取音訊。