如何从另一个活动中清除 Webview 缓存

问题描述

我在 Activity A 中有一个全屏 Webview,在 Activity B 上有一个清除按钮来清除 Webview 缓存。我如何从另一个活动调用该 Webview 清除功能

尝试了下面的场景,但它崩溃了,因为从活动 B 调用函数时 Webview 将为空

   public void clearCacheWeb()
    {

        mWebview.clearCache(true);
        mWebview.clearHistory();
        mWebview.clearFormData();
    }

这还有希望吗?

解决方法

ActivityA 中注册一个 BroadcastReceiver,它有一个 IntentFilter 监听 ACTION="clear-cache"。在 BroadcastReceiver 方法 onReceive() 中,您可以清除 WebView 中的缓存。

ActivityB 中,要清除缓存,请发送带有 ACTION="clear-cache" 的本地广播 Intent