[英]How do I make my custom directory(folder) in Android 10's Internal storage and store my data?
[英]How do I create a file in the “Internal Storage” folder (Primary External Storage) of my Samsung A51 Android 10?
我了解在當前的 SDK 中,我的應用程序的外部存儲文件是在 /data/data/"package" 文件夾中創建的。 但是,我正在與另一個我無法控制的應用程序集成,它從我的 Android 10 (R) 手機上的“內部存儲”(哪個是主要外部存儲?AARG:.)文件夾中讀取。 我已經搜索了 2 天,現在如何在標有“內部存儲”(我的文件-> 內部存儲)的文件夾中創建一個 simple.csv 文件,但根本找不到獲取該位置路徑的解決方案。
我將我的 Android Studio 設置為 minSdkVersion 為 16,complileSdkVersion 為 28,所以至少我可以使用一些早期的文件管理方法。 我希望我的應用程序能夠在至少 3 年或更新的手機/平板電腦上運行。 select 不需要用戶界面(選擇器 - 新文檔建議使用)來保存文件,只需創建一個文件即可。 我是一名老 Java 程序員,但對 Android 來說是新手。 大多數帖子都指向我們在超過 28 個 SDK 中丟失的已棄用功能。
我了解在當前的 SDK 中,我的應用程序的外部存儲文件是在 /data/data/"package" 文件夾中創建的。
不,那是內部存儲。
但是,我正在與另一個我無法控制的應用程序集成,它從我的 Android 10 (R) 手機上的“內部存儲”(哪個是主要外部存儲?AARG: :) 文件夾中讀取
該應用程序將需要盡快更新。
我已經搜索了 2 天,現在如何在標記為“內部存儲”(我的文件-> 內部存儲)的文件夾中創建一個 simple.csv 文件,並且根本找不到獲取該位置路徑的解決方案
對於 Android 10 及以下版本,您可以使用Environment.getExternalStorageDirectory()
作為外部存儲的根目錄。 請注意,對於 Android 10 本身,您需要在<application>
元素中添加android:requestLegacyExternalStorage="true"
。
在 Android 11+ 上,您不能再使用文件系統 API 寫入外部存儲的根目錄,除非您持有MANAGE_EXTERNAL_STORAGE
。 如果您計划通過 Play 商店(也可能在其他地方)分發您的應用程序,該權限將需要使用理由。
select 不需要用戶界面(選擇器 - 新文檔建議使用)來保存文件
用戶可能不同意您的觀點。 谷歌絕對不同意你的看法。 在 Android 11 上,如果您不希望您的應用被 Play 商店禁止,您將需要使用ACTION_CREATE_DOCUMENT
或ACTION_OPEN_DOCUMENT_TREE
並允許用戶決定用戶的文件在用戶設備上的位置。
大多數帖子都指向我們在超過 28 個 SDK 中丟失的已棄用功能。
Android 中的“已棄用”並不總是意味着“失敗”。 它始終意味着“Google 希望您考慮另一個選項。例如, Environment.getExternalStorageDirectory()
仍然存在,即使在 Android 11 中也是如此。它的用處不大,Google 更希望您使用StorageVolume
上的方法反而。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.