我这边是使用DownloadManager的时候遇到这个问题,因为写了try-catch,所以通知栏不会显示下载,直接走catch了,打印错误原因如下:
java.lang.IllegalStateException: Not one of standard directories: xxxxx
我的机子是Android10。网上百度原因:
对于面向Build.VERSION_CODES.Q或更高版本的应用程序,不需要WRITE_EXTERNAL_STORAGE权限,并且dirType必须是已知的公共目录之一,例如Environment#DIRECTORY_DOWNLOADS,Environment#DIRECTORY_PICTURES,Environment#DIRECTORY_MOVIES等
两种解决思路:
1、如原因所说,使用公共目录存储:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
2、修改targetSdkVersion到28或以下(我用的是这种方案,因为我要下载文件到自己定义的目类下面)