簡體   English   中英

READ_EXTERNAL_STORAGE 是否可以根據情況在 Android 11 中提供不同程度的訪問權限?

[英]Is it possible for READ_EXTERNAL_STORAGE to give varying degrees of access, in Android 11 depending on the circumstance?

我有兩個應用程序,它們都做不同的事情,但都針對 sdk 版本 30,並在清單和運行時請求 READ_EXTERNAL_STORAGE 權限。 兩者都是全新的,之前沒有安裝在設備上。

使用運行 Android 11 的三星手機,然后我檢查了兩個應用程序的權限設置並發現了這種差異:

  • App #1 的權限設置為“僅允許訪問媒體”,由於最近對存儲訪問的更改,這是我所期望的。 但是,App #2 的權限設置為“允許訪問管理所有文件”。
  • 當 App #1 提示用戶讀取權限時,系統顯示的消息是“允許 ____ 訪問您設備上的照片和媒體?” 但 App #2 會提示“允許 ____ 訪問您設備上的照片、文件和媒體?”

這可能嗎? 應用程序 #2 絕對不會請求 MANAGE_EXTERNAL_STORAGE,它們都只請求有效的讀取權限。 但是 App #2 對系統文件管理器具有相同的權限,這顯然是不對的。

難道 App #2 使用了一個使用 MANAGE_EXTERNAL_STORAGE 的庫? 您可以在構建后比較兩個應用程序的 AndroidManifest。 它們並不總是與您為應用程序編寫的 AndroidManifest 相同。 庫可以定義自己所需的權限,並將合並到最終的 AndroidManifest 中

發現問題。 應用程序 #2 是使用 androiddeployqt 構建的,出於某種原因,它覆蓋了我指定的目標 sdk 版本,因此它實際上是一個 sdk 級別 28 應用程序。 我強迫它以正確的版本為目標,現在它按預期運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM