如何禁用科尔多瓦的缓存android应用
问题描述:
我已经使用科尔多瓦3.6.3版本来建立我的android应用程序,我想在科尔多瓦webview中禁用URL缓存,我正在使用默认的cordova项目,使用index.html文件。 我试过,但它崩溃我的应用程序如何禁用科尔多瓦的缓存android应用
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);
}
}
答
我会建议您使用以下插件:
https://github.com/moderna/cordova-plugin-cache
document.addEventListener('deviceready', onDeviceReady);
function onDeviceReady() {
var success = function(status) {
alert('Message: ' + status);
}
var error = function(status) {
alert('Error: ' + status);
}
window.cache.clear(success, error);
}
这将清除您的应用程序每次你启动缓存它。
您可以在回调中评论警报。
答
Cordova(由于运行在webview之上)尊重nocache头,如果你能够在你的服务器中设置它,它应该给你相同的结果。另外,您可以通过过期等来控制缓存本身的使用。
答
科尔多瓦 - 禁用 - HTTP缓存
科尔多瓦插件HTTP请求和响应的完全禁用缓存。
在科尔多瓦CLI只需键入以下命令:
cordova plugin add cordova-disable-http-cache
它将取出通过NPM插件“科尔多瓦 - 禁用 - HTTP缓存”和安装“科尔多瓦 - 禁用 - HTTP缓存”的机器人。
它解决了我的应用程序中禁用缓存的问题。 我的科尔多瓦版本是6.5.0。
您可能会发现这有帮助:http://stackoverflow.com/questions/22221395/turn-off-caching-on-android-for-webapps –
我试过这个,但我无法找到appView.getSettings( )在我的代码 – Nishant
我已经在我的文章中共享代码 – Nishant