android - 即使授予了权限,访问 'storage/0/emulated/download' 路径时也被拒绝权限

标签 android flutter dart

我想下载一个文件到storage/0/emulated/download。如果我们在应用程序启动时使用 Permission.storage.request() 授予权限,则工作正常,但如果我们在运行时通过 Permission.storage.request() 单击“允许”来授予权限,则会出现权限被拒绝的错误。

最佳答案

您应该将文件下载到您的应用程序自己的(沙盒)存储空间

private void saveAppPrivateFils(Bitmap bitmap) {
    File file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "2.jpg");
    BufferedOutputStream bos = null;
    try {
        bos = new BufferedOutputStream(new FileOutputStream(file));
        bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos);
        bos.flush();
        bos.close();
        Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
        Toast.makeText(MainActivity.this, "fail" + e.toString(), Toast.LENGTH_SHORT).show();
    }
}

关于android - 即使授予了权限,访问 'storage/0/emulated/download' 路径时也被拒绝权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71704095/

相关文章:

flutter - 根据条件逻辑在Pageview中生成窗口小部件

flutter - 有没有办法在容器中包含多个子代?

android - image 不是 2 的幂?

java - Android 中已弃用的 People 类的替代方案

dart - Flutter:showDialog:构建函数返回空

flutter - 如何在flutter中将图标添加到List View Builder列表中?

dart - 我如何获得一个简单的小部件来响应 IconButton?

android-layout - 如何在列表中显示不同的小部件:Flutter

Android单元测试——解决&验证问题

java - 如果我先调用 AmazonS3Client.listObjects,AmazonS3Client.putObject 将不起作用