wxqandeva
2016-03-23 15:24android 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条回答
为你推荐
- Android中webview点击事件无反应 出现下面日志信息;
- android
- 3个回答
- android中怎么让webview支持h5中的websocket
- android
- webview
- websocket
- 3个回答
- Android 8.0使用webview加载html崩溃
- android
- 5个回答
- android webview vue的图片问题,求助!!
- vue.js
- android
- 图片
- webview
- 4个回答
- Android的webview的post请求添加header
- android
- webview
- 3个回答
换一换