2013-01-19 1 views
6

webVIewはローカルHTMLを読み込みます。ここでは、資産アンドロイドウェブビューエラーページが見つかりません

のためにいくつかの電話が正常に使用することができ HTMLの保管場所 プロジェクト(サムスン...) 一部の携帯電話(... HTCネクサス)することはできません

は私のコードは

public class MainActivity extends Activity { 
    private WebView wvBrowser; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     findViews(); 
    } 

    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (wvBrowser.canGoBack() && event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
      wvBrowser.goBack(); 
      return true; 
     } 

     return super.onKeyDown(keyCode, event); 
    } 

    private void findViews() { 
     wvBrowser = (WebView) findViewById(R.id.Browser); 

     //wvBrowser.loadUrl(getString(R.string.googleUrl)); 

     wvBrowser.getSettings().setSupportZoom(true); 
     wvBrowser.getSettings().setBuiltInZoomControls(true); 
     wvBrowser.loadUrl("file:///android_asset/ts.htm");  
    } 
} 
です
+0

uが私の答え –

答えて

2

これはあなたのためのソリューションです

ドキュメントと私の経験によれば、それはかなりうまくいくはずです。あなたは自分のWebViewのオーバーライド方法onReceivedErrorであなたのWebClientのを設定する必要があります。ここで

は私の古いテストアプリケーションの一部から抜粋です:

wvBrowser = (WebView) findViewById(R.id.Browser); 
wvBrowser.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      Log.i("WEB_VIEW_TEST", "error code:" + errorCode); 
      super.onReceivedError(view, errorCode, description, failingUrl); 
    } 
}); 

私はそれをテストしてみた、それはかなりうまく動作します。ログを確認し、どのようなコードエラーが発生しているのかを確認してください。

これは、すべてのhttp://developer.android.com/reference/android/webkit/WebView.html

上で見つけることができますが、それがお役に立てば幸いです。

+5

ニースコピーペーストを確認する必要があり、この行を追加することで、固定同様のエラーを得た... http://stackoverflow.com/a/4997988/1003325 – KIDdAe

+0

が機能していない、それをテストしてください。 – Pinakin

3

あなたがonReceivedErrorを(上書きあなたのWebViewにWebViewClientを取り付け、それがより良いwebview

をお手伝いします。このリンクをお試しください)

webview.setWebViewClient(new WebViewClient() { 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 

     } 
    }); 
6

ちょうど1件のより多くの回答を追加したいです。誰かが私の提案が役立つかもしれません。 AndroidManifest.xmlにuses-permissionを追加する必要があります。私は

<uses-permission android:name="android.permission.INTERNET" /> 
関連する問題