在5.0之前开发如果要把文件写入到某一个地方,你只需要:
public static String createSDCardDir(String folatName){
String newPath=null;
String extSDCardPath="/storage/emulated/0";
if(extSDCardPath==null){
LogManage.i("sd not found","....");
}else{
if(Environment.MEDIA_MOUNTED.equals(
Environment.getExternalStorageState())){
//得到一个路径,内容是sdcard的文件夹路径和名字
newPath=extSDCardPath+"/"+folatName+"/";//newPath在程序中要声明
File path1 = new File(newPath);
if (!path1.exists()) {
//若不存在,创建目录,可以在应用启动的时候创建
path1.mkdirs();
System.out.println("paht ok,path:"+newPath);
}
}else{
System.out.println("false");
}
}
return newPath;
}
但是在安卓6.0之后除了需要动态请求权限之外,还做了一个限制,那就是外置sd卡只有只读权限:
有网友通过绕行实现外置sd卡的读取操作:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1026/1845.html
后来我发现,其实不然,只是我们不然在外置sd卡根目录下面进行读写操作,而是需要到自己本身的项目目录下操作而已,希望对你有帮助。
我们只能在一下目录进行读写操作:/storage/"sd卡编号"/Android/data/"自身包名"/