相关疑难解决方法(0)

webView在离线时不显示网站

我有一个应用程序向GCM注册推送通知.该代码工作正常,不是我的问题的根源.注册后,该应用程序只会在WebView中显示一个网站.到目前为止,如果设备的网络适配器已打开,这一切都很好.

如果关闭网络适配器,则应从缓存加载webview.这部分不起作用.我已经按照下面的教程并从中获取了一些部分,以便将网站页面保存在SD卡上保存的缓存中.

如果我运行该应用程序,则会显示该网站.如果我然后关闭网络适配器并访问该网站,它将不会显示.我检查了SD卡上的缓存目录,并且部分站点已写入缓存.

为什么网站在离线时不会从缓存中加载?

是否可以将网页保留为缓存,直到说应用程序被卸载或android决定否则?

教程

本教程介绍如何在SD卡上创建目录并写入目录.目录确实存在,但在脱机模式下不会从此缓存中恢复webview.

下面是我如何调用显示webview的mainactivity.

Intent i = new Intent(getApplicationContext(), MainActivity.class);
                //i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                i.putExtra("name", "hardcoded client name");
                i.putExtra("email", "hardcoded email");
                startActivity(i);
                finish();
Run Code Online (Sandbox Code Playgroud)

.

这是完整的MainActivity.您可以忽略第一部分,因为这是处理GCM推送通知内容的代码,一切正常.我需要知道为什么webview不会从缓存中加载.

   import static com.bmi.bmitestapp.CommonUtilities.DISPLAY_MESSAGE_ACTION;
import static com.bmi.bmitestapp.CommonUtilities.EXTRA_MESSAGE;
import static com.bmi.bmitestapp.CommonUtilities.SENDER_ID;

import java.io.File;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import android.widget.Toast;
import android.webkit.*;


import com.google.android.gcm.GCMRegistrar;

public class MainActivity extends Activity {
    private …
Run Code Online (Sandbox Code Playgroud)

android caching webview

6
推荐指数
1
解决办法
4570
查看次数

标签 统计

android ×1

caching ×1

webview ×1