问题描述
我在 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
。