2016-02-09 5 views
0

Я думаю, что вопрос очень прост, я реализовал базовый WebView в своем приложении для Android, и мне нужно, чтобы пользователь нажал на ссылку и загрузил pdf-файл из Интернета (не вопрос, будет ли перенаправлен в приложение браузера).Нажмите ссылку на WebView не работает

Мой код не работает, когда я нажимаю на ссылку ничего не делает:

@Override 
public void loadContent() { 
    super.loadContent(); 

    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setLoadWithOverviewMode(true); 
    mWebView.getSettings().setUseWideViewPort(true); 
    mWebView.getSettings().setBuiltInZoomControls(true); 

    mWebView.setWebViewClient(new WebViewClient() { 

     public void onPageFinished(WebView view, String url) { 
      onLoadCompleted(false); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 

    Logger.i("Loading newsletter with url: " + mNewsletterUrl); 
    mWebView.loadUrl(mNewsletterUrl); 
} 

ответ

0

Используйте DownloadManager, чтобы загрузить файл с сервера.

Также установлены ниже разрешений в файле манифеста:

<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/> 

и

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

Try ниже код:

mWebView.setDownloadListener(new DownloadListener() { 
    public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { 
     Request downloadRequest = new Request(Uri.parse(url)); 
     request.allowScanningByMediaScanner(); 
     request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
     request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "download"); 
     DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 
     dm.enqueue(request); 
    } 
}); 
+0

Спасибо ответ, но я не хочу, чтобы загрузить файл для пользователя, я хочу, чтобы пользователь заходил на страницу, а затем нажимал на ссылку и загружал файл .. (Раньше это происходило, но я думаю проблема теперь в webViewClient, но я должен использовать ее для onLoadComplete) – dvdciri

Смежные вопросы