Environment.ExternalStorageDirectory到底返回了什么?我从开发人员文档中读到:
注意:这里不要被“外部”这个词搞混了。这个目录可以更好地看作是媒体/共享存储。它是一个文件系统,可以保存相对大量的数据,并且在所有应用程序之间共享(不强制执行权限)。传统上这是SD卡,但它也可以作为内置存储在一个设备中实现,该设备不同于受保护的内部存储,并且可以作为文件系统安装在计算机上。
我是否正确地理解,如果我的设备有一个大的(16 to )内部内存和没有SD卡,这将返回到内部内存的路径?或者,我是否必须检查SD卡是否已安装,如果没有,则使用ApplicationContex
背景
Android在如何处理SD卡和存储方面有了很多变化:
API 3-您可以获得所有访问,不需要任何权限。
API4-15-你需要使用WRITE_EXTERNAL_STORAGE,并且你可以访问.
API 16-18 -如果您只想阅读,请使用READ_EXTERNAL_STORAGE
API 19-20 -你不能读或写到二级外部存储器(SD-卡),除非你的应用程序是一个系统应用程序,或者你有根。
API21-22-为了访问SD卡,您需要向用户请求许可,并使用DocumentFile API而不是File。就像我写的关于、和的文章一样,这引起了很多问题。
从API