【问题标题】:Displaying an image in gallery intent在画廊意图中显示图像
【发布时间】:2019-09-13 02:47:48
【问题描述】:

有没有办法创建一个可以打开该图库并在其中显示特定图像的意图?我不是在询问是否将图像保存到内存中,但我只是想要一种适当且简单的方法来显示图像(而不是在 ImageView 中),以便可以进行缩放。

【问题讨论】:

    标签: java c# android image xamarin


    【解决方案1】:

    您可以使用IntentACTION_VIEW 来实现:

    Intent intent = new Intent();  
    intent.setAction(android.content.Intent.ACTION_VIEW);
    Uri uri = Uri.parse("file://" + "YOUR_FILE's PATH");
    //Or you can use                 
    Uri uri = Uri.fromFile(new File("YOUR_FILE's PATH"));
    intent.setDataAndType(uri,"image/*");
    startActivity(intent);
    

    如果您的目标是 API 级别 24+,请参阅此 answer 了解如何获得正确的 Intent 并避免 FileUriExposedException

    【讨论】:

    • 不保存图片可以吗?
    • 我认为它必须被保存,至少到一个临时的地方。我认为图库应用程序没有办法直接从内存中解决问题。
    • 对了,真的需要“file://”吗?
    • 如果你的文件路径已经包含了,那么没有,否则你必须包含它,这样系统才能知道它是什么类型的Uri。如果您有File 实例,您也可以使用Uri.fromFile() 获取Uri 实例
    • 文件的路径是什么样的?有错误日志吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    相关资源
    最近更新 更多