2014-06-24 3 views
0

J'essaie d'utiliser webView pour afficher un fichier HTML qui se trouve sur l'appareil et non sur Internet. J'ai mes fichiers html dans le dossier/Download. Lorsque je lance l'application, je reçois l'erreur suivante:WebView = Page Web non disponible

Webpage pas disponible

La page Web fichier: ///storage/sdcard0/Download/manuals/test/index4.html pourrait être temporairement ou il peut ont été déplacés définitivement vers une nouvelle adresse Web.

Je sais que le fichier est là mais il ne l'affichera pas.

Voici mon code:

package com.asstechmanuals.techmanual; 

import java.io.File; 

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.KeyEvent; 
import android.view.Menu; 
import android.view.Window; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class MainActivity extends Activity { 

private WebView mWebView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 




File fileStandard = new File("/storage/sdcard0/Download/manuals/test/index4.html"); 
File fileNewStandard = new  File("/storage/sdcard0/Download/manuals/test/index4.html"); 
File fileKitKat = new File("/storage/sdcard0/Download/manuals/test/index4.html"); 


    if(fileStandard.exists())  
     mWebView.loadUrl("file:///storage/sdcard0/Download/manuals/test/index4.html"); 
    else if(fileNewStandard.exists()) 
     mWebView.loadUrl("file:///storage/sdcard0/Download/manuals/test/index4.html"); 
    else if(fileKitKat.exists()) 
     mWebView.loadUrl("file:///storage/sdcard0/Download/manuals/test/index4.html"); 
    else 
     mWebView.loadUrl("file:///storage/sdcard0/Download/manuals/test/index4.html"); 

    mWebView.setWebViewClient(new vwClient()); 

} 


private class vwClient extends WebViewClient{ 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView webview, String url) 
    { 
     webview.loadUrl(url); 

     if (url.toLowerCase().contains(".pdf")) 
     { 

      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.parse(url), "application/pdf"); 
      startActivity(intent); 

     } 


     return true; 
    } 
} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) 
    { 
     mWebView.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 
+0

double possible de [page web non d'erreur disponible] (http://stackoverflow.com/questions/6160165/web-page-not-available-error) –

Répondre

0

Dans votre fichier xml manifeste, assurez-vous que vous avez la permission de lire ce dossier pour votre application et l'autorisation d'utiliser Internet (même si vous êtes en fait pas, il est encore Champs obligatoires).

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
+1

Merci :) Cela fonctionne maintenant. – Kyle

Questions connexes