如何让用户直接从他们的浏览器将图像保存到我的Android图库应用

问题描述:

在android手机上,如果在浏览器中按住图像,会弹出一个对话框,询问您是否要保存图片。如果保存,图像将直接下载到您的画廊。如果我希望用户将图像保存到我的应用程序中,并将它们从浏览器保存到自己的图库中,我该如何去做?如何让用户直接从他们的浏览器将图像保存到我的Android图库应用

如果按住图像上,而在浏览器

有Android的许多Web浏览器的应用程序,只是因为有许多Web浏览器的桌面操作系统。

弹出一个对话框,询问您是否要保存图像

并非为Android所有的浏览器不一定提供这个。那些做的可能以不同的方式进行。

如果保存,图像直接下载到您的画廊。

Android中没有这样的概念。 “画廊”是一个应用程序,而不是存储图像的地方。下载的图片可能会出现在图库应用中,但不会下载到图库中。最多只能将它下载到某个文件中。

另请注意,并非所有浏览器都必须支持此功能。

如果我想让用户将图像保存到我的应用程序中,并将它们从浏览器保存到他们的图库中,我该如何去做?

使用当前适用于Android的Firefox,“保存图像”由浏览器在内部处理,将文件下载到外部存储的Downloads/目录。 Firefox for Android确实提供了“共享图像”选项。要显示在可用共享目标列表中,请尝试执行ACTION_SENDIntent,提供处理filecontentUri方案和MIME类型image/*

在当前的Android版Chrome浏览器中,“保存图像”也可能由浏览器在内部处理,也可能通过DownloadManager进行处理,也可将其放入Downloads/目录中。似乎没有办法改变这种行为。 Chrome似乎没有提供“分享”选项。

还有很多其他浏览器。他们是否为你提供处理下载的钩子取决于那些浏览器开发者。

+0

感谢澄清。所以如果一个android用户使用chrome,他们必须首先保存图像,然后从'Downloads /'下分享图像? –

+0

@thebeest:在Android 4.4+上,你可以使用'ACTION_OPEN_DOCUMENT',用户可以浏览到'Downloads /'并选择图片。这大致相当于您在桌面操作系统中看到的“文件打开”对话框。在较旧的设备上,'ACTION_GET_CONTENT'可能允许您做同样的事情,但不能保证某些应用程序将在设备上提供用户浏览“下载/”。或者,如你所建议的那样,你可以提供一些活动(ACTION_VIEW,ACTION_SEND,ACTION_EDIT等),用户可以通过文件管理器,图库应用程序等启动它们。 – CommonsWare

+0

“你可以提供一些用户可以通过文件管理器启动的活动”,但是我不能改变文件管理器活动,只要用户在选择文件时可以看到哪些按钮以及他们可以做,所以看起来我唯一的选择是创建一个意图,以响应用户选择一个文件并点击选择时出现的共享按钮;因为它似乎是用户可以在该活动中单击可以扫描意图的唯一按钮 –