如何在cordova android应用程序中禁用缓存

如何在cordova android应用程序中禁用缓存,android,cordova,caching,cordova-3,Android,Cordova,Caching,Cordova 3,我使用Cordova 3.6.3版本构建我的android应用程序,我使用wnat禁用Cordova webview中的URL缓存,为此我使用默认Cordova项目并使用index.html文件。 我尝试了这个,但它正在破坏我的应用程序 public class MyClass extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(saved

我使用Cordova 3.6.3版本构建我的android应用程序,我使用wnat禁用Cordova webview中的URL缓存,为此我使用默认Cordova项目并使用index.html文件。 我尝试了这个,但它正在破坏我的应用程序

public class MyClass extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
    mwebview=(WebView) findViewById(R.id.appView);
    WebSettings ws=mwebview.getSettings();
    ws.setAppCacheEnabled(false);
    ws.setCacheMode(WebSettings.LOAD_NO_CACHE);
    // Set by <content src="index.html" /> in config.xml
    loadUrl(launchUrl);
    }
}
公共类MyClass扩展了Cordova活动
{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mwebview=(WebView)findViewById(R.id.appView);
WebSettings ws=mwebview.getSettings();
ws.setAppCacheEnabled(false);
setCacheMode(WebSettings.LOAD\u NO\u缓存);
//在config.xml中设置
loadUrl(launchUrl);
}
}

我建议您使用以下插件:

这将在每次启动应用程序时清除其缓存


您可以在回调中对警报进行注释。

Cordova(由于在webview上运行)尊重nocache标头,如果您能够在服务器中设置该标头,则它将给出相同的结果。此外,您还可以通过过期等方式控制缓存本身的使用

cordova禁用http缓存

Cordova插件可完全禁用HTTP请求和响应的缓存

只需在Cordova CLI中键入以下命令:

cordova plugin add cordova-disable-http-cache
这将通过npm获取插件“cordova disable http cache”,并为android安装“cordova disable http cache”

它解决了我在应用程序中禁用缓存的问题。 我的cordova版本是6.5.0。

答案适合我,因此我在下面提供我的工作PHP解决方案:

header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');

将此代码放在服务器端代码的顶部,关闭仿真器,然后使用AVD管理器擦除其中的数据,然后重新运行应用程序。

您可能会发现这很有用:我尝试了此操作,但找不到appView.getSettings()在我的代码中,我在帖子中共享了代码,但我想禁用缓存的创建。也许这就是你想要的:但这是针对IOS的。我需要它用于androidIt可能有点晚了,但我为此创建了一个Cordova插件:
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');