2012-03-29 61 views
1

许多移动网络浏览器在图像保持上都有一些默认功能。例如,如果用户在浏览器中保存图像,则会显示一个用于保存或复制或移动到链接选项的选项。如何在android webview中捕获图像保持事件?

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

+1

我认为它可能可能的上下文菜单。 – 2012-03-29 05:06:24

+0

@YugandharBabu,但是我将如何捕获用户在webview中保存图像的事件? – Kamal 2012-03-29 11:55:15

回答

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); 
    } 
} 
+0

嗨,卡迈勒,上面的答案帮了我很多,现在我得到像保存图像和查看图像时,我按住了图像在webView中的选项。所以现在如何在用户点击保存图像按钮时下载图像。请在这方面帮助我。提前致谢。 – 2017-03-03 07:02:01