- 締切済み
ブラウザ出力エラーのリカバリ方法を教えてください
javaでのAndroidアプリ作成時にWebKitを使って エミュレータでのアプリからのブラウザ出力を試していましたが、 実行時に『ページが見つかりませんでした』と表示されます。 このエラーの解決方法がありましたらご教示ください。 なお、以下に現状を記載しています。 <Activity> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview = new WebView(this); webview.loadUrl("http://www.google.co.jp"); setContentView(webview); } 【現状】 ・<uses-permission android:name="android.permission.INTERNET"></uses-permission>は設定済み ・実行デバイスを変更しても変化なし ・無線LANから有線LANに変更しても変化なし ・自身のネットワークはProxyサーバからのネットワークアクセスとなっており、 それに合わせたアクセスポイントの設定はAndroidエミュレータ内で設定済み ・エミュレータのブラウザからhttp://www.google.co.jpへはアクセス可 ・ソース内のエラーは無し ・assetsフォルダへのhtmlファイルの格納、webView.loadUrl(file:///~);での画面出力は可 以上です。宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
WebViewには、WebViewClientというクライアントを組み込むことができます。これは、setWebViewClientでWebViewに設定されます。このWebViewClientには、onReceivedErrorというメソッドがあり、ページ読み込みに失敗するとこれが呼び出されます。ですから、onReceivedErrorをオーバーライドしたWebViewClientクラスを作り、それをWebViewに設定することで、読み込みエラー時の処理を用意できると思います。ざっと以下のような感じです。(検証してません) webview.setWebViewClient(new WebViewClient(){ @override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // ここに処理を書く }});
お礼
WebVIewClientをWebViewの中に組み込むことによってエラーに対する処理を用意できました。 このメソッドを用いてページ読込みエラーの対処をしていこうと思います。 早急の対応、ありがとうございました。 加えてもしご存知であれば、 loadUrlを用いて"http://www.google.co.jp"にアクセスできるようになる リカバリ方法もご教示願いますが、いかがでしょうか? 私も異なる方法を検証しており、loadUrlを用いず ************************************************ Uri uri = Uri.parse("http://www.google.co.jp/"); Intent i = new Intent(Intent.ACTION_VIEW,uri); startActivity(i); ************************************************ に変更し、intentとしてURL情報を飛ばすとブラウザ出力されるようになりましたが、 アクティビティが生成された状態から何も処理をさせずいきなりintentで飛ばすのは 少々違和感を感じています。 厚顔の限りのお願いで恐れ入りますが、ご対応宜しくお願いいたします。