以编程方式清除Android上的PhoneGap/Cordova应用程序缓存以模拟全新安装?

Jas*_*ogg 4 java jquery android cordova

这与我之前的问题" 如何在每次安装时在我的Android模拟器上清除应用程序的localStorage"有关?".

它还建立在' 如何清除Android应用缓存?'和' 如何以编程方式清除应用程序数据?".

上述问题均未提供适用于Android PhoneGap/Cordova应用程序的直接答案.本博客文章伊戈尔Hrupin涵盖在上下文的情况下原生 Android应用程序,所以这个问题扩展了覆盖科尔多瓦.

我会自己发一个答案,但我是一个完整的Java菜鸟,所以请编辑改进.

Moh*_*ama 15

刚看到这个.它可以用一条线完成.我不确定这是否是您想要的,但它符合我的目的,即在启动时清除缓存

https://coderwall.com/p/aj79eg

super.clearCache(); // just add This Line
super.loadUrl("file:///android_asset/www/index.html");
Run Code Online (Sandbox Code Playgroud)


Jer*_*nv3 5

我无法强制android重新加载新版本:

super.loadUrl("file:///android_asset/www/index.html");
Run Code Online (Sandbox Code Playgroud)

在调用之间,所以我首先借用了你的代码,该代码运行得很好,除了我的应用程序编写的所有数据都被删除了.

一个快速简单的解决方法是更改​​上面文件的URL:

super.loadUrl("file:///android_asset/www/index.html?1");
Run Code Online (Sandbox Code Playgroud)

并改变背后的数字?每次加载.最后我补充说:

import java.util.Random;

public class MainActivity extends DroidGap {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Random generator = new Random();
        int r = generator.nextInt();
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html?" + r);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,每次重建应用程序时,它都会刷新html文件的缓存版本.

我非常想知道如何从应用程序本身强制loadUrl进行刷新,或强制重新加载.