feat: 添加清除 WebView 持久存储目录的功能

This commit is contained in:
Booker
2026-06-03 14:05:28 +07:00
parent d3550411b1
commit 7c5674611c

View File

@@ -178,6 +178,39 @@ class MainActivity : FlutterActivity() {
} finally {
webView.destroy()
}
clearWebViewPersistentStorageDirectories()
}
private fun clearWebViewPersistentStorageDirectories() {
val webViewDataDir = File(applicationInfo.dataDir, "app_webview")
val relativePaths = listOf(
"Default/IndexedDB",
"Default/Local Storage",
"Default/Session Storage",
"Default/Service Worker",
"Default/Cache",
"Default/Code Cache",
"Default/blob_storage",
"IndexedDB",
"Local Storage",
"Session Storage",
"Service Worker",
"databases",
)
relativePaths.forEach { relativePath ->
deleteRecursivelyIfExists(File(webViewDataDir, relativePath))
}
}
private fun deleteRecursivelyIfExists(file: File) {
if (!file.exists()) {
return
}
if (!file.deleteRecursively()) {
Log.w(TAG, "Failed to delete WebView data path: ${file.absolutePath}")
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {