当前位置: 首页 > 知识库问答 >
问题:

Gallery无法在android 7.0上打开内容uri图像文件

林鹏鹍
2023-03-14

在我的应用程序中,我显示了一个帖子列表,其中的帖子可能有图像。当用户点击张贴图像,创建选择器显示可用的选项,如“照片”,“画廊”。我的问题是,为什么gallery不能在Android7.0或API 24及以上版本上打开图像?我得到一个错误“Can not open file.”在API级别23及以下,我提供了实际的文件路径,它似乎可以正常工作。在发这个问题之前,我确认了以下内容。有趣的部分是“照片”可以打开它。

>

  • 我使用FileProvider获得正确的内容uri。我的uri如下所示:

    内容://package.fileprovider/attachment/fileName

    我使用的是适当的哑剧类型。

  • 共有1个答案

    酆晔
    2023-03-14

    仅适用于Android API 24以上-牛轧糖设备

     File file = new File(String.valueOf(path), imageName+".png"); //it is image file name.
     if(Build.VERSION.SDK_INT>=24){ 
          Intent intent = new Intent();
    
          intent.setAction(Intent.ACTION_VIEW);
    
          intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //must provide
    
          Uri photoUri = FileProvider.getUriForFile(YourCurrentActivity.this, 
                          android.support.v4.BuildConfig.APPLICATION_ID + 
                          ".fileprovider", finalFile);
    
          intent.setData(photoUri);
    
          YourCurrentActivity.this.startActivity(intent);
     }
    
     类似资料:
    • 我正在尝试加载存储在应用程序文件夹上的图像当我打开活动时,我从logcat收到了这个错误: 1-20 01:30:40.125 14331-14331/mx.eusaga。af W/ImageView:无法打开内容:content://mx.eusaga.af.fileprovider/imagenes/1-db384fa8-f28b-4595-abbf-d45d38fd4036.jpgjava.

    • 我想打开画廊与多个图像选择功能,我使用以下代码。 它会打开gallery应用程序,但不允许我选择多个图像。

    • 我使用以下代码存储pdf文件: 之后在onActivityResultIm使用OutputStream保存数据。Uri到文件可以看起来像: 但当我试图以此目的启动活动时,pdf viewer应用程序显示错误: 是否可以从内容Uri打开pdf查看器活动?

    • 本文向大家介绍适配android7.0获取文件的Uri的方法,包括了适配android7.0获取文件的Uri的方法的使用技巧和注意事项,需要的朋友参考一下 前言# Android 7.0已经发布很久了,虽然市场份额还不是很高,但是流行起来都是早晚的事,所以适配Android 7.0刻不容缓。 Android 7.0 对系统进行了很多的优化:例如文件访问权限,省电,网络,后台等等,其中最突出的就是应

    • 我正在尝试让一些在应用程序中拍摄的图片在图库中可见(这样它们就可以在应用程序外部共享和查看),但我希望将图片本身保存在应用程序的数据目录中,这样当应用程序被删除时,它们就会被删除(因此它们被存储在“{sdcard}/android/data/{appID}/pictures/{subfolder}/”中)。 我看了很多答案,对于较老版本的Android来说,以下两种解决方案都有效,但在Lollip

    • 问题内容: 7个月前关闭。 我正在使用该网站学习python 我正在尝试像这样加载图像: 我发现其他几个帖子都问相同的问题,所有答案都告诉发布者确保图像与文件位于同一文件夹中。好吧,是的。我仔细检查了。 我还尝试将其放入一个子文件夹中并使用它。 在两种情况下,我都会收到以下错误消息。 要么 使用绝对路径时,它可以工作。但是我不应该使用这样的相对路径吗? 同样,使用软件包在Atom中执行时也会发生这