wxqandeva 2016-03-23 15:24 采纳率: 0%
浏览 4967

android webview中图片 长按点击保存本地 部分手机不能实现。

代码如下

private String imgurl = "";

/***
 * 功能:长按图片保存到手机
 */
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuItem.OnMenuItemClickListener handler = new MenuItem.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            if (item.getTitle() == "保存到手机") {
                new SaveImage().execute(); // Android 4.0以后要使用线程来访问网络
            } else {
                return false;
            }
            return true;
        }
    };
    if (v instanceof WebView) {
        WebView.HitTestResult result = ((WebView) v).getHitTestResult();
        if (result != null) {
            int type = result.getType();
            if (type == WebView.HitTestResult.IMAGE_TYPE || type == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
                imgurl = result.getExtra();
                menu.setHeaderTitle("提示");
                menu.add(0, v.getId(), 0, "保存到手机").setOnMenuItemClickListener(handler);
            }
        }
    }
}

项目中的网页的网址是接口得到的。里面有个图片需要保存到本地。保存本地的方法就不贴出来了。webview的设置应该也没问题,我debug了一下,发现问题应该就是出现在这段代码上。上面的type的值应该是5或者8的情况下才能弹出对话框。但是不能实现的手机type值是0。不知道为什么。但是我把网址换成像百度这样的网址就没有问题了。

  • 写回答

1条回答 默认 最新

  • devmiao 2016-03-23 15:44
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误