在 Android 9 以下版本中,螢幕緩衝區擷取權限 (READ_FRAME_BUFFER
、CAPTURE_VIDEO_OUTPUT
和 CAPTURE_SECURE_VIDEO_OUTPUT
) 會授予具有簽章或特權權限的應用程式。這項功能可啟用流暢的螢幕緩衝區擷取活動,例如擷取螢幕截圖或錄製裝置的螢幕內容。
從 Android 10 開始,為避免裝置螢幕內容遭到靜默存取,系統不會將視訊擷取權限授予特權應用程式。未經使用者同意的存取權會受到限制,且僅授予具備簽章權限的應用程式。這項規定會影響到執行特權應用程式,且仰賴這項靜默擷取功能的裝置製造商。
自 Android 10 起,如果您沒有列出的螢幕緩衝區擷取簽章權限,應用程式就無法在未經使用者同意的情況下擷取螢幕緩衝區。為確保您具備所需權限,請在資訊清單檔案中搜尋先前列出的簽署權限。將所有受影響的特殊權限應用程式 (在搜尋中找到) 遷移至 MediaProjectionManager 類別,這樣一來,任何第三方應用程式都能在獲得使用者同意的情況下,無須取得權限即可擷取螢幕緩衝區。這個流程會顯示對話方塊,在應用程式啟動螢幕截圖功能時,提示使用者允許螢幕截圖。在 Android 10 中,對話方塊的新功能包括:
- 透過「投放」圖示提供更明顯的關聯。
- 提供可存取資料的敏感度相關詳細資訊。
- 防止使用者在日後啟動時隱藏對話方塊:每次都會顯示對話方塊。