Android10中,从图片URI获取文件路径无法真正实现。
创始人
2024-08-20 09:00:57
0

在Android 10及以上版本中,无法直接从图片URI获取其真实的文件路径。可以使用以下代码示例中的方法,将图片文件先复制到应用程序专有目录的缓存目录中,然后再操作该文件。

private String getFilePathFromUri(Context context, Uri uri) {
    String fileName = getFileName(uri);
    File cacheDir = context.getCacheDir();
    File file = new File(cacheDir, fileName);

    try (InputStream inputStream = context.getContentResolver().openInputStream(uri);
         OutputStream outputStream = new FileOutputStream(file)) {

        byte[] buffer = new byte[4 * 1024];
        int read;
        while ((read = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, read);
        }
        outputStream.flush();

    } catch (IOException e) {
        e.printStackTrace();
    }

    return file.getAbsolutePath();
}

private String getFileName(Uri uri) {
    String fileName = "";
    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    if (cursor != null && cursor.moveToFirst()) {
        fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
        cursor.close();
    }
    return fileName;
}

相关内容

热门资讯

安装程序教程!微乐小程序礼包码... 安装程序教程!微乐小程序礼包码!一直是有辅助教程(真的有挂)运微乐小程序礼包码辅助工具,进入游戏界面...
揭秘真相!微乐手游微乐辅助免费... 揭秘真相!微乐手游微乐辅助免费!其实确实有辅助教程(有挂功能)亲,关键说明,微乐手游微乐辅助免费透视...
热点推荐!陕西三代二辅助器!果... 热点推荐!陕西三代二辅助器!果然是有辅助攻略(存在有挂)1、上手简单,内置详细流程视频教学,新手小白...
玩家亲测!川川云脚本破解!切实... 玩家亲测!川川云脚本破解!切实是有辅助app(有挂方略)1、玩家亲测!川川云脚本破解!切实是有辅助a...
这一现象值得深思!功夫川嘛辅助... 这一现象值得深思!功夫川嘛辅助器是真的假的!都是确实有辅助挂(有挂讲解)1、功夫川嘛辅助器是真的假的...
分享实测!小闲川南宜宾辅助!总... 分享实测!小闲川南宜宾辅助!总是真的是有辅助神器(确实有挂)1、很好的工具软件,可以解锁游戏的小闲川...
科技介绍!随意玩最新跳转链接有... 科技介绍!随意玩最新跳转链接有辅助吗!都是存在有辅助攻略(果真有挂)1、玩家可以在随意玩最新跳转链接...
今日!湖北卡五星教程辅助!好像... 今日!湖北卡五星教程辅助!好像是有辅助教程(有挂教程)1、下载好湖北卡五星教程辅助脚本下载之后点击打...
盘点一款!朋朋政和麻将为什么一... 盘点一款!朋朋政和麻将为什么一直输!一贯真的有辅助工具(有挂教学)1、进入游戏-大厅左侧-新手福利-...
今日重大通报!烽火互动辅助!一... 今日重大通报!烽火互动辅助!一直确实有辅助技巧(有挂方略)1)烽火互动辅助辅助插件:进一步探索烽火互...