簡體   English   中英

在 android 10/11 (api 29/30) 下是否仍然可以破壞性地修改不屬於您的文件?

[英]Is it still possible to destructively modify files that you don't own under android 10/11 (api 29/30)?

我想編寫一個應用程序來裁剪/調整照片大小並將它們以新大小寫回共享存儲,但我讀到的關於 SAF 和 mediastore 如何工作的所有內容都表明我充其量只能寫入文件以新名字回來。 在最壞的情況下,如果我不是原始創建者,我可能根本無法打開這些文件。 涉及觸發 SAF 對話框以打開文件的解決方案是合理的,但我希望能夠批量更改文件夾(比如 dcim)中的所有文件(照片)。 但是,如果我還必須觸發一個 SAF 對話框來寫回文件,那就太討厭了。

顯然,如果我的目標是 android 的 pre-10 版本,這仍然可以完成,但是我會被 playstore 屏蔽,而且我真的不想編寫只有我可以使用的應用程序。

我所讀到的關於 SAF 和 mediastore 如何工作的所有內容都表明,我充其量只能用新名稱寫回文件

使用ACTION_OPEN_DOCUMENT (或ActivityResultContracts.OpenDocument )。 您對收到的Uri標識的內容具有完全讀寫訪問權限。

涉及觸發 SAF 對話框以打開文件的解決方案是合理的,但我希望能夠批量更改文件夾中的所有文件(照片)(比如 dcim)

使用ACTION_OPEN_DOCUMENT_TREE (或ActivityResultContracts.OpenDocumentTree )。 您對該樹中的所有文檔具有完全的讀寫訪問權限。

暫無
暫無

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

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