Android意图ACTION_VIEW与共享选项

时间:2016-11-08 16:04:34

标签: android android-intent photo-gallery

我使用ACTION_VIEW的意图在Android上查看照片,但它没有打开图库在查看其他图片时的任何选项(特别是分享)。有人知道如何让它有这些选择吗?

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(location, mimeType);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

给了我一个这样的观众: enter image description here

但只是在画廊中查看,我得到了所有这些东西: enter image description here

这些问题类似,但没有答案

Intent Action_View for image opens gallery with no delete option

Android image intent : sharing/editing options

而有趣的是这两个问题都谈到了那些可用的选项......所以我不确定我做错了什么。

1 个答案:

答案 0 :(得分:0)

  

但它没有打开图库在查看其他图片时的任何选项(特别是分享)

有大约20亿台Android设备,由数千种设备型号组成。其中许多设备型号都会附带一系列支持Intent结构的活动,许多实际设备都会有其他支持它的应用程序,由用户安装。没有人必须提供“分享”选项。

  

任何人都知道如何让它有这些选择吗?

严格地说,你不能。

这些图像查看应用程序是由开发人员编写的,这些开发人员可以随心所欲。也许内部使用的活动与ACTION_VIEW不同。也许它是相同的活动,但它们仅在内部达到活动时提供这些选项(而不是通过ACTION_VIEW来自外部应用程序)。也许他们只共享某些Uri方案或MIME类型。也许他们不分享图像,因为它是星期二。

而且,根据用户拥有并选择使用的图像查看应用程序,不同设备上的行为会有所不同。

如果您想拥有“分享”选项,将其放入您的应用。如果您希望该共享选项位于显示图像的屏幕上,会在您的应用中显示图像。现在,您将所有这些应用程序委托给第三方应用程序,这些应用程序不必执行您想要的操作。