欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 保存WebView中的圖片示例

 更新時間:2017年12月29日 09:06:06   作者:人言落日是天涯  
本篇文章主要介紹了Android 保存WebView中的圖片示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

項(xiàng)目中有需求在APP的Webview中長按圖片可以保存。后來就去研究一下該怎么實(shí)現(xiàn),順便整理了一下。

WebView基本配置

mWvContent.getSettings().setJavaScriptEnabled(true);
mWvContent.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWvContent.getSettings().setDomStorageEnabled(false);
mWvContent.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
// 自適應(yīng)屏幕
mWvContent.getSettings().setUseWideViewPort(true);
mWvContent.getSettings().setLoadWithOverviewMode(true);

注冊ContextMenu

registerForContextMenu(mWvContent);

重寫下面的方法即可保存圖片

@Override
  public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
    super.onCreateContextMenu(contextMenu, view, contextMenuInfo);
    final WebView.HitTestResult webViewHitTestResult = mWvContent.getHitTestResult();
    if (webViewHitTestResult.getType() == WebView.HitTestResult.IMAGE_TYPE ||
      webViewHitTestResult.getType() == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
      contextMenu.setHeaderTitle("網(wǎng)頁中下載圖片");
      contextMenu.add(0, 1, 0, "點(diǎn)擊保存")
          .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
              String DownloadImageURL = webViewHitTestResult.getExtra();
              if (URLUtil.isValidUrl(DownloadImageURL)) {
                DownloadManager.Request request = new DownloadManager.Request(Uri.parse(DownloadImageURL));
                request.allowScanningByMediaScanner();
                //設(shè)置圖片的保存路徑
                request.setDestinationInExternalFilesDir(WebViewActivity.this, "/img", "/a.png");                
                DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
                downloadManager.enqueue(request);
                Toast.makeText(WebViewActivity.this, "下載成功", Toast.LENGTH_LONG).show();
              } else {
                Toast.makeText(WebViewActivity.this, "下載失敗", Toast.LENGTH_LONG).show();
              }
              return false;
            }
          });
    }
  }

需要添加相關(guān)權(quán)限

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

這樣就可以實(shí)現(xiàn)在Webview中長按圖片點(diǎn)擊下載功能了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論