【问题标题】:Android: Save image to gallery from web screenAndroid:将图像从网页屏幕保存到画廊
【发布时间】:2013-01-22 10:50:32
【问题描述】:

我有一个简单的 Android 应用程序,它只是 Web 视图的集合。通常在默认的 Android 浏览器或 Chrome 中,用户可以长按图像并将其保存到手机中。

在 web 视图中,用户没有长按选项,但我希望能够提供相同的功能来将图像保存到他们的手机。

这是否可以通过 javascript 或 jquery 或任何其他方法实现?

谢谢。

【问题讨论】:

  • 你得到答案了吗?

标签: javascript android jquery webview


【解决方案1】:

看来您至少有两个(未弃用)选项:

  • getHitTestResult() 参考:link
  • requestImageRef(消息消息)参考:link

对于第一个选项,获取基于当前光标节点的 HitTestResult。如果找到 HTML::a 标记并且锚点具有非 JavaScript URL,则 HitTestResult 类型设置为 SRC_ANCHOR_TYPE 并且 URL 设置在“extra”字段中。如果锚点没有 URL 或者它是 JavaScript URL,则类型将为 UNKNOWN_TYPE,并且 URL 必须通过 requestFocusNodeHref(Message) 异步检索。如果找到 HTML::img 标记,则将 HitTestResult 类型设置为 IMAGE_TYPE,并将 URL 设置在“extra”字段中。 SRC_IMAGE_ANCHOR_TYPE 类型表示具有 URL 的锚点,该 URL 具有图像作为子节点。如果找到电话号码,则将 HitTestResult 类型设置为 PHONE_TYPE,并将电话号码设置在 HitTestResult 的“extra”字段中。如果找到地图地址,则将 HitTestResult 类型设置为 GEO_TYPE,并将地址设置在 HitTestResult 的“extra”字段中。如果找到电子邮件地址,则将 HitTestResult 类型设置为 EMAIL_TYPE,并将电子邮件设置在 HitTestResult 的“extra”字段中。否则,HitTestResult 类型设置为 UNKNOWN_TYPE。

第二个选项:

public void requestImageRef (Message msg)

它请求用户最后一次触摸的图像的 URL。 msg 将被发送到它的目标,并带有一个表示 URL 作为其对象的字符串

不确定这些选项是否也与“长按”兼容。

您还可以使用 onLoadResource(WebView view, String url) 简单地捕获所有加载的图像资源,构建图像引用列表并下载按钮单击引用的那个。

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多