我在使用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"));
}
如何解决这种不受欢迎的行为? 提前谢谢!
答案 0 :(得分:0)
嗯,没有。当用户触摸图片放大时
应用程序使用我的按钮返回上一个活动,而不是显示此图片。
正确。您要求第三方应用程序显示允许用户选择图片的活动。第三方应用程序显示允许用户选择图片的活动。在触摸屏设备上,触摸图片是第三方应用程序允许用户选择图片的一种非常可能的方式。
或者,换句话说,the documentation for ACTION_GET_CONTENT
中没有任何内容表明支持它的第三方应用应允许用户放大图片。
此外,如果您阅读ACTION_GET_CONTENT
的文档,您会注意到它记录了输出。这表明ACTION_GET_CONTENT
旨在与startActivityForResult()
一起使用。 仅使用ACTION_GET_CONTENT
的原因是允许用户选择一些内容并将该选择返回给您。
如果您希望用户放大图像,请编写您自己的图像放大UI。或者,编写自己的图像浏览用户界面,并使用ACTION_VIEW
为特定图像启动第三方图像查看器,因为可能其中一些将允许缩放(尽管这也是不需要)。