在项目中遇到一个保存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;
}
});