Warum funktioniert CordovaWebViewClient in Cordova 6 nicht mehr?
Ich habe eine benutzerdefinierte Webviewclient-Klasse zum Überschreiben von @ geschriebeonPageStarted, onPageFinished etc
in Cordova 3.7, die gut funktioniert hat.
In folgendem Code habe ich das WWW-Verzeichnis für den Webserver und die Interaktion mit Cordova-Plugins von dort gehostet (Barcodescanner, NFC, Bluetooth usw.).
public class MainActivity extends CordovaActivity {
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
loadUrl("https://example.com");
}
public class CustomCordovaWebViewClient extends CordovaWebViewClient {
public CustomCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) {
super(cordova, view);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.i("CSP Log", "onPageStarted: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.i("CSP Log", "onPageFinished: " + url);
}
@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload){
super.doUpdateVisitedHistory(view, url, isReload);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
}
}
Nach einem Jahr habe ich ein Projekt von Cordova 3.7 auf Cordova 6 migriert, aber ich habe festgestellt, dass der obige Code wie @ gebrochen isCordovaWebViewClient, super.onPageStarted etc
kann keine Symbole auflösen. Ich habe auch versuchtCordovaWebViewImpl
und mich verwirrt.
Nach vielen Suchanfragen bei Google habe ich eine Lösung gefunden, die meistens in den Jahren 2011-14 angegeben wurde und nicht zutreffend ist. Ich konnte keine hilfreichen Cordova-Dokumente finden.