Die WebView-Abfrage unter Android 15 wird nach dem Öffnen benutzerdefinierter Chrome-Registerkarten unterbrochenJavaScript

Javascript-Forum
Guest
 Die WebView-Abfrage unter Android 15 wird nach dem Öffnen benutzerdefinierter Chrome-Registerkarten unterbrochen

Post by Guest »

WebView-Abfragen werden unter Android 15 nach dem Öffnen von benutzerdefinierten Chrome-Tabs unterbrochen
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 (

    Code: Select all

    pollingtest.html
    ) mit einem JavaScript-Abfragemechanismus, der jede Sekunde einen API-Aufruf durchführt, um Daten abzurufen.
    pollingtest.html

    Code: 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);
    
Nach dem Öffnen von benutzerdefinierten Chrome-Registerkarten unter Android 15 stoppt die XMLHttpRequest in der WebView und die Netzwerkanforderung gibt ein „ „Ausstehend“-Status, wie im Chrome-Netzwerkinspektor zu sehen.
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!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post