5

キャッシュを使用しないという点で Webview に問題があります。アプリを起動し、HTML5 ページを読み込んでから、ページから戻り、電話で機内モードに入り、再び Web ページにアクセスしようとしました。キャッシュする必要がありますが、URL を取得できなかったというメッセージが表示されます。

これに関連する私のコードは次のとおりです。私は何か間違ったことをしていますか?

String weblink = "http://abcd.com";
final ConnectivityManager conMgr =  (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);

final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();

if (activeNetwork != null && activeNetwork.isConnected()) {
    progressBar = ProgressDialog.show(this, "Please Wait", "loading online..");
    mWebview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
    mWebview.getSettings().setAppCacheMaxSize(1024*1024*8);
    mWebview.loadUrl(weblink);
    setContentView(mWebview);
} 
else 
{
    progressBar = ProgressDialog.show(this, "Please Wait", "loading offline..");
    mWebview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY);

    mWebview.loadUrl(weblink);
    setContentView(mWebview);
}
4

2 に答える 2

1

あなたのコードは大丈夫です。

Webサイトが存在しないか、正しくキャッシュされていないか、次のアクセス許可を追加するのを忘れています。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permisson.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
于 2012-07-14T11:15:53.727 に答える
0
Just Remove 

setContentView(mWebview);

in 
if and else both parts
于 2014-06-16T11:07:28.407 に答える