

直接上代码,仔细看注释
java
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.logging.Handler;
import java.util.logging.LogRecord;
import java.io.BufferedReader;
import java.io.File;
--导入相关依赖,不同环境版本导入不同,根据实际情况import
public static String clearSTars(String input) throws JSONException {
String path = appActivity.getApplication().getFilesDir().getPath() + "/zhixing";//这里填指定需要清理的内部文件的路径
File file = new File(path);
deleteFile(file);
clearAppCache(AppActivity.getAppContext());
restartApp(AppActivity.getAppContext());
return "";
}
private static void deleteFile(File file) {
//删除指定路径文件
if (file == null || !file.exists()) return;
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null && files.length > 0) {
for (File f : files) {
deleteFile(f);
}
}
}
try {
boolean deleted = file.delete();
if (!deleted) {
}
} catch (Exception e) {
}
}
public static void clearAppCache(Context context) {
//清理app缓存
try {
File cacheDir = context.getCacheDir();
deleteDir(cacheDir);
// 清除 WebView 缓存
context.deleteDatabase("webview.db");
context.deleteDatabase("webviewCache.db");
File appDir = context.getExternalCacheDir();
if (appDir != null) {
deleteDir(appDir);
}
Log.i("App", "缓存已清理");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void restartApp(Context context) {
//重启app
Intent intent = context.getPackageManager()
.getLaunchIntentForPackage(context.getPackageName());
if (intent != null) {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
// 杀死当前进程
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
public static Context getAppContext() {
return appActivity.getApplicationContext();
}