原因:java.lang.IllegalStateException:无法在Android 6.0设备中创建目录

原因:java.lang.IllegalStateException:无法在Android 6.0设备中创建目录,第1张

概述我必须使用DownloadManager从url存储下载图像并将其存储到带有我自己的目录(如“xyz”)的SD卡中.这是我的代码Fileimg_directory=null;img_directory=newFile(Environment.getExternalStorageDirectory()+"/xyz");if(!img_directory.exists()){img_directory.m

我必须使用DownloadManager从url存储下载图像并将其存储到带有我自己的目录(如“xyz”)的SD卡中.这是我的代码

file img_directory = null;img_directory = new file(Environment.getExternalStorageDirectory() + "/xyz");if (!img_directory.exists()) {    img_directory.mkdirs();    DownloadManager mgr = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);    Uri downloadUri = Uri.parse("my image url");    DownloadManager.Request request = new DownloadManager.Request(downloadUri);    request.setAllowednetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE)      .setAllowedOverRoaming(true)      .setTitle("Demo")      .setDescription("Something useful. No, really.")      .setNotificationVisibility(DownloadManager.Request.VISIBIliTY_HIDDEN);      .setDestinationInExternalPublicDir(Environment.getExternalStorageDirectory().getabsolutePath() + "/xyz", image.jpeg);    mgr.enqueue(request);}

此代码将运行至AndroID 5.1.1.当我在6.0中运行相同的代码时,它会像这样引发错误

Caused by: java.lang.IllegalStateException: Unable to create directory: /storage/emulated/0/storage/emulated/0/xyz at androID.app.DownloadManager$Request.setDestinationInExternalPublicDir(DownloadManager.java:538)

我在清单文件中添加了READ和WRITE权限.我该如何解决这个错误?任何人都可以帮助我?提前致谢.

解决方法:

Caused by: java.lang.IllegalStateException: Unable to create directory: /storage/emulated/0/storage/emulated/0/xyz at androID.app.DownloadManager$Request.setDestinationInExternalPublicDir(DownloadManager.java:538)

问题似乎与AndroID 6.0中引入的Android Runtime Permission有关

当您的应用定位为API级别23或更高时,默认情况下所有权限均为false.要解决此问题,您必须先申请权限对话框并批准该权限,然后才能将其用于您的应用.

总结

以上是内存溢出为你收集整理的原因:java.lang.IllegalStateException:无法在Android 6.0设备中创建目录全部内容,希望文章能够帮你解决原因:java.lang.IllegalStateException:无法在Android 6.0设备中创建目录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1119437.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存