在网上看文章都是如下:
(因为在4.4(API19)以前的手机上确实是这样的,手机自身带的存储卡就是内部存储,而扩展的SD卡就是外部存储。但是从4.4的系统开始,很多的中高端机器都将自己的机身存储扩展到了8G以上,比如有的人的手机是16G的,有的人的手机是32G的,但是这个16G,32G是内部存储吗,不是的!!!,它们依然是外部存储,也就是说4.4系统及以上的手机将机身存储存储(手机自身带的存储叫做机身存储)在概念上分成了”内部存储internal” 和”外部存储external”)
以上面的话来说,所谓的外部存储 最终应该还是内部存储,不需要SD卡应该也可以操作。
但是我使用
Environment.getExternalStorageDirectory()
这个API获取路径进行存储的时候,模拟器是可以的,但是真机是不行。
那是不是又认为外部存储是SD卡。
就一直纠结这个= =
以前的android手机是这样子的。内部存储,就是出厂就有的。外部存储是你插的tf卡。后来随着科技的发展,这些越来越便宜了。然后就不支持插外部的tf卡了。直接内置。这个时候还是有内粗存储和外部存储的概念。
至于Environment.getExternalStorageDirectory()这个方法返回的是什么路径,那肯定由厂家定的。
现在的情况是,这个Environment.getExternalStorageDirectory()已经过时了。具体用什么替换你可以去看一下里面的api文档。一般来说一个方法过时了,顶部就会告诉你用什么方法代替。
相关文档
https://developer.android.com/reference/android/os/Environment#getExternalStorageDirectory()