如何在android webview中捕获图像保持事件?

时间:2012-03-29 04:58:57

标签: android

许多移动网络浏览器在图片保留方面都有一些默认功能。例如,如果用户在浏览器上保存图像,则会向用户显示保存或复制或移动到链接选项的选项。

可以使用webview在Android应用中复制相同的功能吗?是否有一些默认设置可用,或者我是否需要为此类功能编码?

1 个答案:

答案 0 :(得分:3)

我还没有找到完美的解决方案,但这可能会解决问题。

onCreate()

registerForContextMenu(mWebView);

并覆盖onCreateContextMenu()方法:

@Override  
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
    super.onCreateContextMenu(menu, v, menuInfo);  

    HitTestResult result = ((WebView) v).getHitTestResult();

    MenuItem.OnMenuItemClickListener handler = new MenuItem.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            // do the menu action
            return true;
        }
    };

    if (result.getType() == HitTestResult.IMAGE_TYPE ||
            result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
        // Menu options for an image.
        //set the header title to the image url
        menu.setHeaderTitle(result.getExtra());
        menu.add(0, 1, 0, "Save Image").setOnMenuItemClickListener(handler);
        menu.add(0, 2, 0, "View Image").setOnMenuItemClickListener(handler);
    } 
}