从API级别8开始,Android似乎重新定义了"外部"存储.通过http://developer.android.com/reference/android/os/Environment.html阅读,附在文档中getExternalStorageDirectory我看到评论:"不要在这里混淆'外部'一词.这个目录可以更好被认为是媒体/共享存储......在具有多个"外部"存储目录的设备中......,该目录代表用户将与之交互的"主要"外部存储."
我的应用程序将文件写入获取的路径getExternalStorageDirectory,并且我已经让用户请求选择写入他们的可移动SD卡.我一直认为它getExternalStorageDirectory返回了可移动SD卡的路径,但这已不再适用.如何访问此SD卡的路径?
我想打开外部存储目录路径以编程方式保存文件.我试过但没有获得SD卡路径.我怎么能这样做?有什么解决方案吗?
private File path = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "");
Run Code Online (Sandbox Code Playgroud)
要么
private File path = new File(Environment.getExternalStorageDirectory() + "");
Run Code Online (Sandbox Code Playgroud)
我尝试从两个方法上面获取路径,但两者都指向内部存储器.
当我们打开存储器时,如果sdcard没有,它将显示如下 -

设备存储和SD存储卡.
我想通过编码获得sd内存路径.我已经在清单中给予了许可 -
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)