Android7 文件路徑適配整理

添加res/xml/file_paths.xml,用來定義文件存儲路徑

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="ateqi_img" path="."/>
</paths>

在AndroidManifest.xml中添加

<provider
    android:authorities="${applicationId}.provider"
    android:name="androidx.core.content.FileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths"/>
</provider>

Android7 獲取Uri的方式

private fun getImageUri(context: Context, imgName: String): Uri? {
    try {
        val outFile = File(context.externalCacheDir, "${imgName}.jpg")
        if (outFile.exists()) {
            outFile.delete()
        }
        outFile.createNewFile()
        return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//Android 7
            FileProvider.getUriForFile(context, getCameraAuthority(context), outFile)
        } else {
            Uri.fromFile(outFile)
        }
    } catch (e: IOException) {
        e.printStackTrace()
    }
    return null
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容