WebView 元素获取(图片下载)
在项目中遇到一个保存webview中图片的问题,在此做一个记录 ,直接上代码
mywebview.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { final WebView.HitTestResult hitTestResult = mywebview.getHitTestResult(); // WebView.HitTestResult.UNKNOWN_TYPE 未知类型 // WebView.HitTestResult.PHONE_TYPE 电话类型 // WebView.HitTestResult.EMAIL_TYPE 电子邮件类型 // WebView.HitTestResult.GEO_TYPE 地图类型 // WebView.HitTestResult.SRC_ANCHOR_TYPE 超链接类型 // WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE 带有链接的图片类型 // WebView.HitTestResult.IMAGE_TYPE 单纯的图片类型 // WebView.HitTestResult.EDIT_TEXT_TYPE 选中的文字类型 // 如果是图片类型或者是带有图片链接的类型 if (hitTestResult.getType() == WebView.HitTestResult.IMAGE_TYPE) { // 弹出保存图片的对话框 AlertDialog.Builder builder = new AlertDialog.Builder(MyWebActivity.this); builder.setTitle("提示"); builder.setMessage("保存图片到本地"); builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { String url = hitTestResult.getExtra(); // 下载图片到本地 // PicShowUtil.downlaod(url, MyWebActivity.this); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { // 自动dismiss @Override public void onClick(DialogInterface dialogInterface, int i) { } }); AlertDialog dialog = builder.create(); dialog.show(); } return true; } });