在Android 10(API 29)及更高版本中,文件访问方法getExternalStorageDirectory()不再起作用,这是因为Android 10引入了一种新的存储访问模型,称为Scoped Storage(作用域存储)。Scoped Storage的目的是增强应用程序的隐私和安全性,并提供更好的文件管理。
在Scoped Storage模型下,每个应用程序都有自己的私有存储空间,无法直接访问其他应用程序的文件。这意味着getExternalStorageDirectory()方法返回的路径不再是外部存储的根目录,而是应用程序的私有目录。
这种变化对开发者来说有一些影响。以下是一些解决方案和替代方法:
File privateDir = context.getExternalFilesDir(null);
总之,Android 10引入的Scoped Storage模型对文件访问方式产生了变化,开发者需要适应新的存储访问模型,并使用替代方法来处理文件访问操作。
领取专属 10元无门槛券
手把手带您无忧上云