2013-01-22 80 views
2

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

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

这是可能的通过JavaScript或jQuery的,或任何其他方法?

谢谢。

+0

你有答案吗? – VendettaDroid

回答

2

看来你至少有两个(不推荐)选项:

  • getHitTestResult()参考:link
  • requestImageRef(信息MSG)编号:link

对于第一种选择,基于当前游标节点获取HitTestResult。如果找到HTML :: a标记并且锚点具有非JavaScript URL,则HitTestResult类型将设置为SRC_ANCHOR_TYPE,并在“extra”字段中设置URL。如果该锚点没有URL或者它是JavaScript URL,则该类型将是UNKNOWN_TYPE,并且该URL必须通过requestFocusNodeHref(Message)异步检索。如果找到HTML :: img标签,则将HitTestResult类型设置为IMAGE_TYPE,并在“extra”字段中设置URL。一种类型的SRC_IMAGE_ANCHOR_TYPE指示具有将图像作为子节点的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视图,String url)简单地捕获所有加载的图像资源,构建图像引用列表并下载按钮点击引用的图像资源。