Android 12 中推出的隨附裝置設定檔為 這項功能可讓隨附應用程式要求一組特定的 隨附裝置類型,例如智慧手錶使用夥伴模式 裝置設定檔允許應用程式顯示 向行動裝置使用者發出單一提示,要求他們請求一組已定義的 不必分別提示權限 這麼做可簡化設定流程,並提升選擇接受率 搭配應用程式使用
如要使用隨附裝置設定檔,隨附應用程式必須符合下列規定 規定:
- 管理隨附裝置 (例如智慧手錶)。
- 應用程式功能或呼叫的 Android API 需具備 為隨附裝置設定檔定義的權限。
每個隨附裝置設定檔都會對應到一個 Android 角色。如要 個別權限和相應 Android 角色的相關資訊 設定檔,請參閱第三方應用程式的隨附裝置設定檔。
如要進一步瞭解隨附裝置,請參閱 配對裝置配對連線。
裝置行為
本節說明使用隨附裝置設定檔時的裝置行為。
使用者接受應用程式的要求,以便與隨播廣告建立關聯
裝置,
CompanionDeviceManager
敬上
(CDM) 服務會將裝置設定檔角色 (例如智慧手錶) 指派給
夥伴模式
應用程式,授予為指定設定檔角色定義的所有權限。
圖 1 範例顯示應用程式要求取得
COMPANION_DEVICE_WATCH
敬上
裝置上的設定檔。
圖 1. 要求手錶裝置設定檔權限的對話方塊。
使用者在「設定」中清除套件資料或移除所有 裝置,因此 CDM 會撤銷設定檔, 應用程式未在前景執行,也沒有前景 服務撤銷設定檔也會一併撤銷所有已定義的 權限。
使用者接受應用程式的要求授予特定權限後 裝置設定檔,則使用者可以撤銷已授予的個別權限。 使用者撤銷權限時,應用程式仍會與 隨附裝置,但部分功能可能無法使用。如果 應用程式必須取得權限才能運作,應用程式必須請求 授予應用程式權限 權限要求。
第三方應用程式的隨附裝置設定檔
智慧手錶設定檔
手錶設定檔已在 Android 12 中推出。
下表將說明
COMPANION_DEVICE_WATCH
敬上
裝置設定檔及其使用規範
權限 | 隨附應用程式和裝置需求 |
---|---|
通知
BIND_NOTIFICATION_LISTENER_SERVICE
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
眼鏡配戴
在 Android 14 中推出了眼鏡設定檔。
下表將說明
COMPANION_DEVICE_GLASSES
敬上
裝置設定檔及其使用規範
權限 | 隨附應用程式和裝置需求 |
---|---|
通知BIND_NOTIFICATION_LISTENER_SERVICE POST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
實作
如果第三方開發人員實作了隨附應用程式,在當中請求
DEVICE_PROFILE_WATCH
敬上
設定檔,請執行下列操作:
呼叫
setDeviceProfile
方法。傳入設定檔 (例如
DEVICE_PROFILE_WATCH
敬上 建構期間AssociationRequest
。
略過顯示使用者同意聲明對話方塊的裝置製造商
適用於實作內含特定 裝置,使用下列必要的 Android 系統設定來認證 讓應用程式能略過顯示使用者同意聲明的隨附應用程式 對話方塊
請使用下列指令擷取憑證:
keytool -printcert -jarfile PATH/TO/APK
替換套件名稱和憑證,如下所示 設定檔中的範例輸入內容:
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>
使用
AssociationRequest
敬上 ,向單一隨附裝置提出關聯要求。
驗證
如要測試隨附裝置設定檔功能的行為,請使用 CTS
測試
cts/tests/tests/companion/
。