getExternalFilesDir到底是什么
getExternalFilesDir對(duì)應(yīng)的目錄是/sdcard/Android/data/包名/files/…
可以看到它主要是用來(lái)存放應(yīng)用私有的一些文件。這個(gè)目錄有幾個(gè)特性:
自動(dòng)刪除
當(dāng)應(yīng)用卸載的時(shí)候,這些文件會(huì)被刪除。當(dāng)然前提是sd卡可用。
其他應(yīng)用訪問(wèn)
這些文件可以被其他應(yīng)用訪問(wèn),但是前提是其他應(yīng)用有外部存儲(chǔ)權(quán)限。
但是注意在Android 11以后即使有存儲(chǔ)權(quán)限,其他應(yīng)用也不允許訪問(wèn)這些文件了。
存儲(chǔ)權(quán)限
在Android api 19(即4.4)之后,本應(yīng)用即使沒(méi)有存儲(chǔ)權(quán)限,也可以訪問(wèn)這些文件,雖然它們是在sd卡上。官方文檔如下:
Starting in {@link android.os.Build.VERSION_CODES#KITKAT}, no permissions
are required to read or write to the returned path; it’s always
accessible to the calling app. This only applies to paths generated for
package name of the calling application. To access paths belonging to
other packages,
鑒于目前大部分App的minSdkVersion都是19或以上,所以當(dāng)使用這個(gè)目錄的時(shí)候,是沒(méi)必要再請(qǐng)求存儲(chǔ)權(quán)限的。
關(guān)注公眾號(hào):BennuCTech,獲取更多干貨!
總結(jié)
以上是生活随笔為你收集整理的getExternalFilesDir到底是什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Flutter入门:动画相关
- 下一篇: Flutter:实现红包晃动效果