我注意到this thread确认了一种行为:
似乎Android的DownloadMnager.setDestinationUri()
方法允许从Android 6及更高版本在私有外部缓存目录中指定目标,而不允许WRITE_EXTERNAL_STORAGE
权限:
request.setDestinationUri(Uri.fromFile(new File(getExternalCacheDir().getAbsolutePath() + "/filename.xxx")));
在调用此行时导致异常被抛出,表明需要WRITE_EXTERNAL_STORAGE
权限,它在运行android 6及更高版本的设备上完美运行(在Nexus 5运行,Nexus 5X和HTC 10上确认)
我想指望这种行为,而不是在Android 6及更高版本上使用WRITE_EXTERNAL_STORAGE,但是由于我没有看到任何文档表明这确实是一种新行为,我不敢这样做。
所以我的问题是:
在android 6上是否真的是android行为允许在没有任何权限的情况下将目的地设置为这种私有存储?