Android clearing app cache clears provider also -


i used following code delete app cache.

public void clearapplicationdata() {          file cachedirectory = getcachedir();         file applicationdirectory = new file(cachedirectory.getparent());         if (applicationdirectory.exists()) {             string[] filenames = applicationdirectory.list();             (string filename : filenames) {                 if (!filename.equals("lib")) {                     deletefile(new file(applicationdirectory, filename));                 }             }         }     }      public static boolean deletefile(file file) {         boolean deletedall = true;         if (file != null) {             if (file.isdirectory()) {                 string[] children = file.list();                 (int = 0; < children.length; i++) {                     deletedall = deletefile(new file(file, children[i])) && deletedall;                 }             } else {                 deletedall = file.delete();             }         }         return deletedall;     } 

once delete code means deletes provider declared in manifest. there way clear cache without deleting content provider?

you can avoid not deleting database folder

if (!filename.equals("lib")&&!filename.equals("files")&&!filename.equals("database")) {                     deletefile(new file(applicationdirectory, filename));                 } 

Comments