在 Android 9 及更低版本中,屏幕緩衝區捕獲權限( READ_FRAME_BUFFER
、 CAPTURE_VIDEO_OUTPUT
和CAPTURE_SECURE_VIDEO_OUTPUT
)被授予具有簽名或特權權限的應用程序。這實現了無縫的屏幕緩衝區捕獲活動,例如截屏或記錄設備的屏幕內容。
從 Android 10 開始,為防止對設備屏幕內容的靜默訪問,視頻捕獲權限不會授予特權應用。未經用戶同意的訪問受到限制,並且僅授予具有簽名權限的應用程序。運行依賴此靜默捕獲功能的特權應用程序的設備製造商會受到此要求的影響。
從 Android 10 開始,如果您沒有列出的屏幕緩衝區捕獲簽名權限,則您的應用無法在未經用戶同意的情況下捕獲屏幕緩衝區。為確保您擁有所需的權限,請在清單文件中搜索之前列出的簽名權限。將所有受影響的特權應用程序(在您的搜索中找到)遷移到MediaProjectionManager類,該類允許任何第三方應用程序在未經用戶許可的情況下捕獲屏幕緩衝區。此流程顯示一個對話框,提示用戶在應用啟動時允許屏幕捕獲。在 Android 10 中,對話框的新功能包括:
- 提供與Cast圖標的更多可見關聯。
- 提供有關可訪問數據的敏感性的更多信息。
- 防止用戶在未來啟動時隱藏對話框:對話框每次都顯示。