在Android的WebView的右键菜单图像保存 [英] Context Menu for Image Saving in an Android webview

查看:362
本文介绍了在Android的WebView的右键菜单图像保存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经浇过类似的问题,但无法找到答案。我希望能够长期preSS在我的WebView用户上传的图片保存它们(就像你可以在一个浏览器)。任何帮助?

更新:

上下文菜单现在雨后春笋般冒出来跟我自己的自定义项保存图像。我甚至可以成功地敬酒封邮件。我怎么去,虽然保存图像?是,正在被长时间点击图像传递给我的菜单项?

 公共布尔onLongClick(视图v){
            openContextMenu(五);
            返回true;
        }
        @覆盖
        公共无效onCreateContextMenu(文本菜单菜单,视图V,
                            ContextMenu.ContextMenuInfo menuInfo){
            super.onCreateContextMenu(菜单,V,menuInfo);
            MenuInflater充气= getMenuInflater();
            inflater.inflate(R.menu.context,菜单);
        }
        @覆盖
        公共布尔onContextItemSelected(菜单项项){
          AdapterContextMenuInfo信息=(AdapterContextMenuInfo)item.getMenuInfo();
          开关(item.getItemId()){
          案例R.id.save_image:
              Toast.makeText(这一点,保存失败,
                    Toast.LENGTH_LONG).show();
              返回true;
          默认:
            返回super.onContextItemSelected(项目);
          }
        }
 

解决方案

首先注册的WebView像这样的上下文菜单: activity.registerForContextMenu(web视图)

  @覆盖
保护无效onCreateContextMenu(文本菜单菜单){
    super.onCreateContextMenu(菜单);

    HitTestResult结果= getHitTestResult();

    MenuItem.OnMenuItemClickListener处理器=新MenuItem.OnMenuItemClickListener(){
        公共布尔onMenuItemClick(菜单项项){
                //做的菜单操作
                返回true;
        }
    };

    如果(result.getType()== HitTestResult.IMAGE_TYPE ||
            result.getType()== HitTestResult.SRC_IMAGE_ANCHOR_TYPE){

        menu.setHeaderTitle(result.getExtra());
        menu.add(0,ID_SAVEIMAGE,0,保存图像)setOnMenuItemClickListener(处理)。
    }
 

要保存你的图像<一个href="http://stackoverflow.com/questions/3474448/saving-image-webview-android/3475772#3475772">simply使用此

I've poured over similar questions but can't find the answer. I want to be able to long press the user-uploaded images in my webview to save them (like you can in a browser). Any help?

Update:

The context menu is popping up now with my own custom item "Save Image". I can even successfully toast msgs. How do I go about saving the image though? Is the image that's being long clicked being passed to my menu item?

        public boolean onLongClick(View v) {
            openContextMenu(v);
            return true;
        }
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v,
                            ContextMenu.ContextMenuInfo menuInfo) {
            super.onCreateContextMenu(menu, v, menuInfo);
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.context, menu);
        }
        @Override
        public boolean onContextItemSelected(MenuItem item) {
          AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
          switch (item.getItemId()) {
          case R.id.save_image:
              Toast.makeText(this, "save failed",
                    Toast.LENGTH_LONG).show();
              return true;
          default:
            return super.onContextItemSelected(item);
          }
        }

解决方案

First register the WebView for context menus like so: activity.registerForContextMenu(webView)

@Override
protected void onCreateContextMenu(ContextMenu menu) {
    super.onCreateContextMenu(menu);

    HitTestResult result = 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.setHeaderTitle(result.getExtra());
        menu.add(0, ID_SAVEIMAGE, 0, "Save Image").setOnMenuItemClickListener(handler);
    }

To save you images simply use this

这篇关于在Android的WebView的右键菜单图像保存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆