私はwebviewを使用するAndroidアプリを持っています。すべてのフロントエンドファイルを処理し、apache tomcatよりキャッシュマニフェストを構築するJavaバックエンドサーバーがあります。サーバーに接続していないときにAndroid webviewのアプリキャッシュから読み込み
私の問題は、サーバーが接続されていないときにアプリケーションキャッシュから読み込むようにwebviewを取得する方法がわかりませんが、デバイスがインターネットに接続されていることです。私はアプリのコードに行けば
することは、私は、だから私は私のファイルが適切にキャッシュされている知っている
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY);
で使用するキャッシュを、それを強制することができます。私はまた、私はネットワークの状態を確認し、このようなネットワークの状態に基づいてキャッシュモードを設定していた他のスタックオーバーフローの問題から解決策を試してみました:
cm = (ConnectivityManager) this.getSystemService(Activity.CONNECTIVITY_SERVICE);
if(cm.getActiveNetworkInfo().isConnected()) ....
しかし、このようなケースでは動作しません。デバイスはオンラインですが、サーバーがダウンしています。この場合、ネットワークは問題なく、キャッシュからロードされません。
フロントエンドのWebViewがネットワーク上のリソースにアクセスしようとしたときに利用できない場合は、キャッシュからロードするだけです。これは通常のブラウザで正しく動作します。しかし、私は、特定のサーバーへのネットワーク接続を検出し、キャッシュモードを変更するなどの回避策を受け入れることができます。
誰もがこの問題の最善の方法を知っていますか?ありがとう。
ソリューションを共有していただきありがとうございます。 – jakogut