我注意到这个线程也证实了一个行为:
似乎Android的方法允许从android 6及更高版本在未经许可的情况下在私有外部缓存目录DownloadMnager.setDestinationUri()
中指定目标: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行为真的允许在没有任何许可的情况下将目标设置为这种私有存储吗?