安卓角色

角色是系統內與某些權限和特權相關聯的唯一名稱。應用程式可以透過 Android API 請求持有某些角色,特別是透過呼叫RoleManager類別中的方法。

請參閱以下清單以了解可用角色及其對應的要求。

角色要求
助理至少其中一項:
  • 該應用程式有一個執行輔助操作的活動,根據使用者請求幫助時的上下文資訊(例如,當前前台應用程式的套件名稱及其上下文資訊)。
  • 該應用程式具有始終在線的語音互動服務,由android.permission.BIND_VOICE_INTERACTION權限控制,可以執行語音識別並主持主動語音互動會話。此外,該應用程式有一個明確的標誌,指示該服務能夠處理輔助操作。
瀏覽器所有的:
  • 該應用程式有一個活動,應用程式可以透過隱式意圖請求呼叫該活動,該活動顯示與http://位址對應的網頁。
  • 該應用程式需要處理連結之間的導航。也就是說,如果使用者正在查看網頁並點擊文字中的http://位址,則應用程式需要能夠顯示與所選連結對應的內容,而無需額外的使用者介入。
  • 應用程式需要能夠在收到請求並且用戶批准請求時向網頁提供設備的當前地理位置資訊。
撥號器所有的:
  • 該應用程式有一個活動,應用程式可以透過隱式意圖請求呼叫該活動,該活動在裝置處於通話狀態時提供通話中使用者介面。
  • 該應用程式可以處理來電意圖,向使用者顯示與通話相關的資訊(例如來電者的電話號碼),並允許使用者接聽或拒絕通話。
  • 該應用程式為用戶提供了一種發起呼叫並在其裝置上查看呼叫歷史記錄的方法。
簡訊所有的:
  • 該應用程式滿足短信應用程式的所有要求
  • 該應用程式有一個活動,應用程式可以透過隱式意圖請求呼叫該活動,該活動可以向電話號碼發送訊息。
  • 該應用程式有一項服務,由android.permission.SEND_RESPOND_VIA_MESSAGE權限控制,並可透過隱式意圖調用,當用戶選擇在來電期間透過訊息回應時,該服務可以傳遞從電話應用程式收到的訊息。該應用程式可以透過自己的訊息系統傳遞訊息。
  • 該應用程式有兩個廣播接收器,一個由android.permission.BROADCAST_SMS權限控制,另一個由android.permission.BROADCAST_WAP_PUSH權限控制,可以分別偵聽發送到裝置的基於文字的 SMS 和 MMS 訊息。然後,該應用程式負責將訊息寫入 SMS 提供者並通知用戶。
緊急狀況所有的:
  • 該應用程式是一個系統應用程式
  • 該應用程式有一個活動可以顯示用戶的緊急訊息。任何人都可以透過緊急撥號器活動上的緊急按鈕導航到此畫面。
該應用程式有一個活動,可以在用戶按下主頁按鈕時啟動主畫面。主螢幕應顯示應用程式圖示、小部件,並支援基於按鈕或手勢的導航(例如,向上滑動以查看所有應用程式)。
呼叫重定向該應用程式有一個服務,由android.permission.BIND_CALL_REDIRECTION_SERVICE權限控制,電信框架可以綁定到該服務。該服務從電信框架接收傳出電話號碼並執行以下操作之一:
  • 允許按原樣撥打電話。
  • 將撥出號碼變更為透過代理號碼路由。
  • 取消通話。
呼叫篩選該應用程式有一個由android.permission.BIND_SCREENING_SERVICE權限控制的服務,該服務執行兩個功能:
  1. 呼叫封鎖/篩選:該服務可以選擇哪些呼叫應發送到手機上的撥號應用程式(並且可能會在給定免打擾/音量的情況下響鈴),以及哪些呼叫應靜默發送到語音信箱。
  2. 呼叫識別:該服務可以透過使用者介面識別並顯示有關呼叫的資訊。
系統_圖庫所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式為用戶提供了一個用戶介面來儲存、組織和顯示他們的影片和圖像。
SYSTEM_AUTOMOTIVE_CLUSTER所有的:
  • 該應用程式是汽車上的系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式為汽車儀表顯示器(通常位於方向盤附近)提供功能,供用戶接聽電話以及存取聯絡人清單和通話記錄。
COMPANION_DEVICE_WATCH應用程式可以發出與手錶設備關聯並管理手錶設備的請求(透過使用CompanionDeviceManager類別提供的 API)。一旦手錶和應用程式透過應用程式提供的 UI 連接起來,用戶就可以從應用程式管理手錶,包括同步聯絡人和日曆,以及管理通知和電話。
系統_汽車_投影所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式可以將手機螢幕投影到車載顯示器上。它允許駕駛員使用車輛上的輸入機制(包括觸控、方向盤控制和語音命令)存取和控制 Android 手機上的應用程序,包括音樂、導航、電話和 Google 搜尋。
系統_外殼所有的:
  • 該應用程式是分配了Process.SHELL_UID UID 的系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式提供了一個在命令列層級工作的介面,以便用戶可以與 Android 作業系統互動。例如,顯示資料夾的內容或啟動應用程式。 Shell 命令可以由應用程式以程式設計方式執行(如果已授予必要的權限),也可以從 ADB 工具執行。
系統_聯絡人所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式為用戶提供了一個 UI 來管理其聯絡人(例如,查看、共享、新增、刪除或搜尋聯絡人)。當使用者從應用程式更新其聯絡人時,應用程式會更新聯絡人提供者。用戶還可以透過應用程式打電話給聯絡人、發送電子郵件或發送簡訊。
SYSTEM_SPEECH_RECOGNIZER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式提供可以執行語音識別的服務。
  • 當應用程式從另一個應用程式接收即時麥克風流以進行語音識別時,它會正確地將麥克風使用情況歸因於調用應用程序,並相應地更新應用程式操作統計資料。
SYSTEM_WIFI_COEX_MANAGER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式有一項服務,可動態設定設備應避免因蜂窩幹擾而使用的 Wi-Fi 頻道清單。
系統_健康所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式應該為用戶提供減少干擾的功能,並為用戶提供有關他們如何使用設備的統計數據(例如,每週的螢幕時間)。
SYSTEM_TELEVISION_NOTIFICATION_HANDLER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式必須向電視設備上的使用者顯示平視通知。當發送android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL意圖(從 SystemUI)時,應用程式也必須顯示目前活動通知。
SYSTEM_COMPANION_DEVICE_PROVIDER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式必須能夠檢測其附近的外圍設備。它必須有一個 UI,用戶可以在其中確認給定的外圍設備應與應用程式關聯並由應用程式管理。一旦使用者確認,管理應用程式將授予關聯應用程式存取週邊設備的權限(例如,其名稱、位址、類別和綁定狀態),並且可以啟動綁定程序。
SYSTEM_DOCUMENT_MANAGER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式有一項活動,允許用戶存取現有文件並在裝置上建立新文件。
  • 該應用程式必須滿足 Android CDD第 2.2.3 節中概述的所有要求。標題為[3.2.3.1/H-0-1]軟體
系統_活動_識別器所有的:
系統使用者介面所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式有一個供用戶與手機互動的介面。例如,手機的主螢幕、導航、最近的應用程式、快速設定、通知列、鎖定螢幕、音量控制。
SYSTEM_TELEVISION_REMOTE_SERVICE所有的:
  • 該應用程式是 Android TV 上的系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式有一項服務,可以與電視遙控器 HID 設備通訊(例如,透過 BLE)、注入事件(例如,按鈕單擊)以及發送其他資料(例如,來自遙控器內建麥克風的音訊串流) )進入平台。
SYSTEM_UI_INTELLIGENCE所有的:
  • 作為一項預先安裝服務,透過框架 API(公共或系統 API)提供用於系統 UI 功能的裝置上智慧處理器(例如,為使用者預測和顯示下一個應用程式)。
  • 本服務必須滿足 Android CDD第 9.8.6 節內容擷取中列出的所有要求。
  • 它不能具有android.permission.INTERNET權限。相反,它必須透過開源專案中定義明確的 API 存取互聯網。
  • 它不能綁定到應用程序,但以下系統應用程式除外:藍牙、聯絡人、媒體、電話、SystemUI 和提供 Internet API 的元件。每個允許的綁定必須透過系統配置中的<allow-association>配置明確設定。
  • 除非有直接的使用者操作(例如,使用者每次共享資料時明確按下按鈕),否則它無法與應用程式共享資料。
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE所有的:
  • SYSTEM_UI_INTELLIGENCE的條件相同,但預先安裝的服務為環境音訊提供裝置上智慧型處理器(例如,識別在裝置附近播放的歌曲)。
系統音訊智能所有的:
  • SYSTEM_UI_INTELLIGENCE的條件相同,但預先安裝的服務提供裝置上的音訊智慧處理器(例如,為視訊、播客、電話、視訊通話和音訊訊息添加字幕)。
系統通知情報所有的:
  • SYSTEM_UI_INTELLIGENCE的條件相同,但預先安裝的服務提供了用於通知的裝置上智慧型處理器(例如,針對訊息通知建議回覆和操作)。
SYSTEM_TEXT_INTELLIGENCE所有的:
  • SYSTEM_UI_INTELLIGENCE的條件相同,但預先安裝的服務提供裝置上的文字智慧處理器(例如提供即時翻譯或自動填入)。
系統視覺智能所有的:
  • SYSTEM_UI_INTELLIGENCE的條件相同,但預先安裝的服務為涉及分析相機資料的視覺功能提供了設備上的智慧處理器。例如,在使用者註視手機時保持手機螢幕處於活動狀態,或根據裝置前置鏡頭的使用者臉部方向確定理想的螢幕方向。
COMPANION_DEVICE_APP_STREAMING所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式可以建立和管理與連接設備的通訊通道,以便它們可以交換資料。應用程式和連接的裝置必須成功地相互驗證(例如,透過證明它們了解共用金鑰)才能建立這些通訊通道。通訊通道必須具有加密保護。
  • 該應用程式可以將通知從本地設備發送到連接的設備,以允許用戶對連接的設備上的通知採取操作。
  • 能夠將應用程式串流所需的元資料傳輸到連接的設備,例如本地設備上可用的應用程式清單。
  • 在用戶明確同意(在電話上或在連接的設備上)表示他們希望這樣做之後,能夠將應用程式從本地設備串流傳輸到連接的設備。
  • 能夠將連接裝置上的串流應用程式上發生的事件重播(注入)到本機裝置上。例如,在手機上的相同座標處重播平板電腦上的觸控事件。
  • 當串流應用程式正在使用麥克風時,應用程式可以將本機裝置的麥克風串流替換為連接裝置的麥克風串流。
  • 該應用程式從設備捕獲音訊並將其串流傳輸到連接的設備。
  • 當串流應用程式正在使用相機時,必須阻止本機裝置的相機串流。
  • 必須驗證所連接裝置的作業系統版本的完整性(例如,透過使用VerifiedBootState中的裝置證明)。
  • 僅在兩台裝置上的裝置上帳戶註冊表(例如 Android 上的AccountManager )中只有一個符合帳戶的情況下傳輸應用程式。如果不是這種情況,則必須使用來源裝置上顯示並在連接的裝置上輸入的一次性代碼來授權串流。請注意,如果裝置支援多用戶(而不是多帳戶)且具有與Android 多用戶相同的資料隔離保證,則用戶算作裝置。
  • 如果連接裝置上的帳戶驗證過期或被撤銷,必須立即停止串流並中斷與連線裝置的連線。
  • 在串流媒體之前和期間,必須驗證連接的裝置是否在本機裝置的藍牙範圍內。
  • 如果使用者 5 分鐘內未與連接的裝置互動(例如鍵盤、觸控螢幕和滑鼠處於非活動狀態),則必須中斷正在進行的應用程式流程會話。視訊串流應用程式不受此要求的約束。
  • 如果來源設備使用鎖定螢幕知識因子 (LSKF),則當螢幕鎖定時,應用程式不得將應用程式串流傳輸到連接的設備,除非該設備具有鎖定螢幕且已解鎖。
  • 如果裝置由管理員管理,則應用程式必須遵守管理員設定的有關啟用或停用應用程式串流傳輸到附近裝置的策略(例如,使用 Android 中的DevicePolicyManager 設定)。
  • 必須確保從使用者角度來看,遠端顯示器和所有遠端輸入事件來源屬於相同邏輯設備(例如,遠端顯示器和連接的鍵盤),並且事件會相應地路由。
  • 使用者必須能夠結束本機裝置的串流傳輸,例如透過使用持久通知中的按鈕。如果手機設定了螢幕鎖定,則此行為由鎖定螢幕控制。
  • 當串流發生在另一台裝置上時,必須在來源裝置上顯示可供性,例如狀態列中的圖示或持久通知。
DEVICE_POLICY_MANAGEMENT所有的:
  • 只有 OEM 可以將此角色授予應用程式。應用程式無法請求此角色,因為該角色應在裝置出貨時立即授予 OEM 定義的套件名稱。
  • 應用程式必須能夠設定託管設定檔(設定檔擁有者)或託管裝置(裝置擁有者),包括根據需要下載/安裝適當的裝置原則用戶端以成為裝置/設定檔擁有者。
  • 應用程式可以選擇動態更新資源,例如用於裝置策略管理的字串、可繪製物件。
  • 該應用程式可以是預先安裝的系統應用程序,也可以在配置之前下載並安裝。
  • 對於設定檔擁有者設定情況,當角色持有者應用程式安裝在給定Android 使用者上時,必須將其安裝在該使用者的所有適用的設定上。
SYSTEM_APP_PROTECTION_SERVICE所有的:
  • 該應用程式是一個系統應用程式
  • 該應用程式的唯一目的是檢測潛在有害的應用程式(可能使用戶、用戶資料或設備面臨風險的應用程序,例如木馬、網路釣魚和間諜軟體應用程式)或移動不需要的軟體
  • 該應用程式必須滿足 Android CDD第 9.8.6 節「內容捕獲」中列出的所有要求。
  • 它不能聲明android.permission.INTERNET普通權限。相反,它必須透過開源專案中定義明確的 API 存取互聯網。
  • 它不得綁定到應用程序,但以下系統應用程式除外:權限控制器和提供 Internet API 的元件。每個允許的綁定必須透過系統配置中的<allow-association>配置明確設定。
  • 除非有直接的使用者操作(例如,使用者每次共享資料時明確按下按鈕),否則它不得與應用程式共用資料。
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 必須將日曆資料從使用者的 iOS 或 Android 手機傳輸到 Android Auto 裝置。 Android Auto 裝置必須將此日曆資料儲存在日曆提供者中。
  • 應用程式必須在手機上提供一個 UI 元件,使用者可以使用它來開啟日曆同步並選擇要同步的日曆。該應用程式必須在手機上提供一個 UI 元件,用戶可以使用它來關閉日曆同步。
  • 應該在沒有網路連線的情況下運作。例如,透過使用直接有線或無線連接。
汽車_導航所有的:
  • 該應用程式有一個活動,應用程式可以透過隱式意圖請求呼叫該活動,該活動顯示用戶當前的位置和周圍環境。
  • 該應用程式有一個活動,應用程式可以透過隱式意圖請求呼叫該活動,從而允許用戶導航到指定的地理位置。
  • 具有當應用程式保持導航焦點時在儀表板上啟動的活動。活動必須顯示使用者目前的位置、周圍環境,並允許他們導航到指定的地理位置。
COMPANION_DEVICE_COMPUTER所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 使用戶能夠在連接的電腦上鏡像通知並從手機存取照片和媒體。
系統設定智能至少其中一項:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 擁有一項為「設定」應用程式提供智慧功能的服務,例如建議和搜尋。
筆記所有的:
COMPANION_DEVICE_GLASSES應用程式可以發出與眼鏡設備關聯並管理眼鏡設備的請求(透過使用CompanionDeviceManager類別提供的 API)。使用 CDM 提供的 UI 連接眼鏡設備和應用程式後,使用者可以透過授予其存取聯絡人的權限以及管理通知和電話的權限來管理其眼鏡設備。
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING所有的:
  • 該應用程式是一個系統應用程式
  • 只有 OEM 可以將此角色授予應用程式。
  • 該應用程式可以建立和管理與連接設備的通訊通道,以便設備可以交換資料。應用程式和連接的裝置必須成功地相互驗證(例如,透過證明它們了解共用金鑰)才能建立這些通訊通道。通訊通道必須具有加密保護。
  • 該應用程式可以將通知從本地設備發送到連接的設備,以允許用戶對連接的設備上的通知採取操作。
  • 能夠將應用程式串流所需的元資料傳輸到連接的設備,例如本地設備上可用的應用程式清單。
  • 在用戶明確同意(在電話上或在連接的設備上)表示他們希望這樣做之後,能夠將應用程式從本地設備串流傳輸到連接的設備。
  • 能夠將連接裝置上的串流應用程式上發生的事件重播(注入)到本機裝置上。例如,在平板電腦上以與手機上相同的座標重播觸控事件,或以與手機上相同的輸入語意重播眼鏡裝置上發生的輸入事件。
  • 當串流應用程式正在使用麥克風時,應用程式可以將本機裝置的麥克風串流替換為連接裝置的麥克風串流。
  • 該應用程式從設備捕獲音訊並將其串流傳輸到連接的設備。
  • 必須驗證連接裝置作業系統建置的完整性(例如,透過使用VerifiedBootState中的裝置證明)。
  • 僅在兩台裝置上的裝置上帳戶註冊表(例如 Android 上的AccountManager )中只有一個符合帳戶的情況下傳輸應用程式。如果不是這種情況,則必須使用來源裝置上顯示並在連接的裝置上輸入的一次性代碼來授權串流。請注意,如果裝置支援多用戶(而不是多帳戶)且具有與Android 多用戶相同的資料隔離保證,則用戶算作裝置。
  • 如果連接裝置上的帳戶驗證過期或被撤銷,必須立即停止串流並中斷與連線裝置的連線。
  • 如果來源設備使用鎖定螢幕知識因子 (LSKF),則當螢幕鎖定時,應用程式不得將應用程式串流傳輸到連接的設備,除非該設備具有鎖定螢幕且已解鎖。
  • 如果裝置由管理員管理,則應用程式必須遵守管理員設定的有關啟用或停用到附近裝置的串流的策略(例如,使用 Android 中的DevicePolicyManager 設定)。
  • 必須確保從使用者角度來看,遠端顯示器和所有遠端輸入事件來源屬於相同邏輯設備(例如,遠端顯示器和連接的鍵盤),並且事件會相應地路由。
  • 使用者必須能夠結束本機裝置的串流傳輸,例如透過使用持久通知中的按鈕。如果手機設定了螢幕鎖定,則此行為由鎖定螢幕控制。
  • 當串流發生在另一台裝置上時,必須在來源裝置上顯示可供性,例如狀態列中的圖示或持久通知。