WebView 从入坑到出坑(一)

持续更新

WebView 从入坑到出坑(二)

  1. 内存泄漏
    前前后后各种找方案,都不行,最终stackOverflow上找到,为webview开启另一个进程: 在AndroidManifest.xml中设置android:process=":remote",完美解决内存泄漏问题
  2. 点击回退建,回到上一个web页面
    这个方法待定,但是确实解决了我的问题。(设置两次goBack)
  @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    
      if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {                
        webView.goBack();        
        webView.goBack();        
        return true;    
      }    
    return super.onKeyDown(keyCode, event);
}
  1. html中超链接
    在我们webview加载的html中有个pdf文件的超链接,ios点击完美打开,没做任何处理,但是Android点击没反应。。。。。。(爬坑中。。。。),望知道的告知下,谢谢!
    解决方案:
  private class MyWebViewDownLoadListener implements DownloadListener {    
      @Override    
      public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {        
          String[] urlSplit = url.split("/");        
          fileName = urlSplit[urlSplit.length - 1];        
          file = new File(Environment.getExternalStorageDirectory(), fileName);        
          if (!file.exists())            
            presenter.fileDownload(url, file);        
          else{            
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));            
            startActivity(intent);        
          }    
        }
      }

    webView.setDownloadListener(new MyWebViewDownLoadListener());
    Intent intent = new Intent(Intent.ACTION_VIEW,         
    Uri.fromFile(file));startActivity(intent);

PS:就是下载下来,然后用第三方应用打开

你可能感兴趣的:(WebView 从入坑到出坑(一))