如何在Android 10中访问外部存储?

时间:2019-10-14 08:26:56

标签: android android-external-storage android-10.0

根据Android 10 update,即使我们拥有

,也无法从外部存储进行读写
  

WRITE_EXTERNAL_STORAGE

我想将pdf文件从内部存储(不属于我的Android应用程序)移动到DOWNLOADS文件夹。我尝试了很多方法,但是没有任何效果,并且互联网上也没有任何与访问Android 10中的外部存储相关的帮助。

Android 10中的隐私更改|| Android开发人员 https://developer.android.com

1 个答案:

答案 0 :(得分:0)

希望以下代码将帮助您解决问题并将任何文件从内部存储复制到外部存储。

fun copyPdfFrom(context: Context, sourceFile: File, destinationURIString: String) {
                val destinationURI = Uri.parse(destinationURIString)
                try {
                    val bufferedInputStream = BufferedInputStream(FileInputStream(sourceFile.absoluteFile))
                    val outPutStream = context.contentResolver.openOutputStream(destinationURI)!!
                    var len = 0
                    val brr = ByteArray(1024)

                    while ((bufferedInputStream.read(brr, 0, brr.size).also { len = it }) != -1) {
                        outPutStream.write(brr, 0, len)
                    }
                    outPutStream.flush()
                    outPutStream.close()
                    bufferedInputStream.close()
                }
                catch (e: Exception) {
                    e.printStackTrace()
                }
            }