我在查看 Android WebView 文档时遇到了ServiceWorkerController,并决定尝试一下。不幸的是我无法拦截任何电话。我知道WebViewClient.shouldInterceptRequest但有兴趣了解有关 ServiceWorkerController 的更多信息。不幸的是,这些文档比我下面已经实现的内容有点稀疏。任何帮助,将不胜感激。
我已经组装了一个由单个 Activity 组成的简单应用程序。
package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.ServiceWorkerClient;
import android.webkit.ServiceWorkerController;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private final static String LOGTAG = MainActivity.class.getSimpleName();
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ServiceWorkerController.getInstance().setServiceWorkerClient(new ServiceWorkerClient() {
@Override
public WebResourceResponse shouldInterceptRequest(WebResourceRequest request) {
Log.e(LOGTAG, "in service worker");
return null;
}
});
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview); …Run Code Online (Sandbox Code Playgroud)