feat: 添加清除 WebView 持久存储目录的功能
This commit is contained in:
@@ -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?) {
|
||||
|
||||
Reference in New Issue
Block a user