android 储存权限xml,无法使用mkdirs在Android 6.0上创建目录(存储权限ok)

我正在尝试使用新的运行时权限将我的应用源代码更新为

Android 6.0.

但是,如果用户授予应用程序存储权限,则应用程序无法使用“mkdirs”在“onRequestPermissionsResult”方法中创建目录.

在AndroidManifest.xml中我放了’uses-permission’:

package="com.xample.provasd"

android:versionCode="1"

android:versionName="1.0" >

然后在MainActivity中处理权限请求:

public void executeButton(View view){

final String[] PERMISSIONS_STORAGE = { Manifest.permission.WRITE_EXTERNAL_STORAGE };

//Asking request Permissions

ActivityCompat.requestPermissions(this,PERMISSIONS_STORAGE, 9);

}

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

boolean writeAccepted = false;

switch(requestCode){

case 9:

writeAccepted = grantResults[0]==PackageManager.PERMISSION_GRANTED;

break;

}

if(writeAccepted){

String state = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(state)) {

File dir = new File(Environment.getExternalStorageDirectory()+"/"+"TestFolder");

boolean b = dir.mkdirs();

if(b){

Log.i("TAG", "WOW! "+dir+" created!");

}else{

Log.e("TAG", "OPS! "+dir+" NOT created! To be sure: new dir exist? "+dir.exists());

}

}

}

}

在模拟器上启动应用程序,显示请求对话框:允许执行’onRequestPermissionsResult’主体的权限(writeAccepted = true)但是没有创建文件夹!

这是LogCat中出现的内容:

I/TAG(9020): Permission ok

I/TAG(9020): Try to create dir: /storage/3143-1CEA/TestFolder

E/TAG(9020): OPS! /storage/3143-1CEA/TestFolder NOT created! To be sure: new dir exist? false

我不明白原因.

拜托,有人可以帮帮我吗?

谢谢,

米尔科

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值