Ich stoße auf ein Problem, bei dem die Abfragen in einer WebView unter Android 15 nach dem Öffnen von benutzerdefinierten Chrome-Tabs nicht mehr funktionieren. Die Abfrage funktioniert unter Android 14 und niedriger einwandfrei, aber sobald ich benutzerdefinierte Chrome-Registerkarten öffne, geht XMLHttpRequest in den Status „Ausstehend“ über und es wird keine API-Antwort empfangen.
Schritte zum Reproduzieren:
- Ich habe eine einfache HTML-Seite () mit einem JavaScript-Abfragemechanismus, der jede Sekunde einen API-Aufruf durchführt, um Daten abzurufen.
Code: Select all
pollingtest.html
pollingtest.htmlCode: Select all
The Polling Test Android // Function to make the API call and update content function getValue() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; console.log("API Response:", this.responseText); } }; // Fetch the data every 1 second xhttp.open("GET", "https://api.coindesk.com/v1/bpi/currentprice.json", true); xhttp.send(); } // Start calling the API every 1 second as soon as the page loads window.onload = function() { setInterval(getValue, 1000); // Call getValue every 1000ms (1 second) };
- Die HTML-Datei wird mit dem folgenden Code in ein WebView geladen:
Code: Select all
webview.loadUrl("file:///android_asset/pollingtest.html");
- Nach 5 Sekunden wird Chrome Custom Tabs mit dem folgenden Code geöffnet:
Code: Select all
new Handler(Looper.getMainLooper()).postDelayed(() -> { startChromeCustomTabs(); // starts chrome custom tabs after 5 seconds }, 5000);
Das Problem tritt nur unter Android 15 auf; Auf Android 14 und niedriger funktioniert alles wie erwartet.
Meine Frage:
Gibt es ein bekanntes Problem mit der WebView-Abfrage in Android 15, das Netzwerkprobleme verursacht? Anfragen bleiben hängen, wenn Chrome Custom Tabs geöffnet wird? Gibt es eine Problemumgehung oder Lösung, um sicherzustellen, dass die Abfrage nach dem Start von Chrome Custom Tabs weiterhin ordnungsgemäß funktioniert?
Jede Hilfe oder Anleitung wäre sehr dankbar!