Intent.ACTION_GET_CONTENT错误地返回上一个活动

时间:2014-06-12 11:10:57

标签: android android-intent

我在使用Intent.ACTION_GET_CONTENT时遇到问题。 在我的Andoird应用程序中,我创建了一个按钮,该按钮应该将用户引导到某个文件夹并显示包含的图片。这项工作到目前为止:用户按下按钮 - >他可以在ES Data Explorer或Galary之间进行选择 - >显示文件夹和包含的图片。

但是有一个问题:当用户触摸图片放大时,应用程序会使用我的按钮返回上一个活动,而不是显示此图片。

要在我的应用程序中打开我的文件夹,我正在使用此代码,该代码在用户按下按钮后执行:

public void openFolder(View View)
{   
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    Uri uri = Uri.parse(Environment.getExternalStorageDirectory()
        .getAbsolutePath()
        + "/myfolder");
    intent.setDataAndType(uri, "image/*");
    startActivity(Intent.createChooser(intent, "Select App"));  
}   

如何解决这种不受欢迎的行为? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

  

当用户触摸图片放大时

嗯,没有。

  

应用程序使用我的按钮返回上一个活动,而不是显示此图片。

正确。您要求第三方应用程序显示允许用户选择图片的活动。第三方应用程序显示允许用户选择图片的活动。在触摸屏设备上,触摸图片是​​第三方应用程序允许用户选择图片的一种非常可能的方式。

或者,换句话说,the documentation for ACTION_GET_CONTENT中没有任何内容表明支持它的第三方应用应允许用户放大图片。

此外,如果您阅读ACTION_GET_CONTENT的文档,您会注意到它记录了输出。这表明ACTION_GET_CONTENT旨在与startActivityForResult()一起使用。 使用ACTION_GET_CONTENT的原因是允许用户选择一些内容并将该选择返回给您。

如果您希望用户放大图像,请编写您自己的图像放大UI。或者,编写自己的图像浏览用户界面,并使用ACTION_VIEW为特定图像启动第三方图像查看器,因为可能其中一些将允许缩放(尽管这也是不需要)。