Es gibt ein großes Problem: Alle paar Tage scheint die Android System WebView aktualisiert zu werden selbst wenn noch nicht einmal ein Google-Konto eingerichtet ist (es sollten also keine Updates über den Play Store stattfinden), selbst wenn ich die gewünschte WebView-Version manuell über ADB installiert habe und obwohl alle Optionen, die ich dazu finden konnte, vorhanden sind Das Aktualisieren von Inhalten ist deaktiviert.
Das Problem Das liegt daran, dass dadurch meine Kiosk-Anwendung abstürzt (ich kann in Logcat sehen, dass sie aufgrund dieses Updates gewaltsam beendet wird), was schon schlimm genug ist, aber dann das System in einem kaputten Zustand zurücklässt, weil meine App den Lock-Task-Modus verwendet, und so weiter Der Sperraufgabenmodus wird nicht deaktiviert, wenn die App beendet wird, und wenn meine App versucht, die Sperraufgabe erneut zu aktivieren oder wieder zu deaktivieren, geht das Problem schief, die App bleibt hängen oder stürzt ab. Aber noch schlimmer: Manchmal startet meine App (die auch als Launcher registriert ist) neu und funktioniert einigermaßen, andere Apps (z. B. der Zahlungsabwickler) können jedoch nicht gestartet werden, aber häufiger hängt dann einfach das gesamte System so stark, dass ich es nicht mehr tun kann. Sie müssen nicht einmal das Power-Menü öffnen, um das System neu zu starten. Es scheint, dass dies passiert, wenn die App aufgrund des Updates abstürzt und „darunter“ keine andere App geöffnet ist und die Sperraufgabe noch aktiviert ist. Das passiert auf verschiedenen Geräten und sogar auf verschiedenen Android-Versionen, daher glaube ich nicht, dass es sich um ein Problem mit einem bestimmten Gerätemodell handelt.
Natürlich ist das ziemlich schlimm, da Kunden mit einem kaputten Gerät zurückbleiben Gerät dann, und ich kann aus diesem Grund nicht zulassen, dass Benutzer die Geräte jede Woche neu starten ... es sieht nicht professionell aus.
Da ich nicht möchte, dass so etwas passiert und in Tatsächlich möchte ich nicht einmal, dass WebView überhaupt aktualisiert wird, es sei denn, ich sage es, weil es möglich wäre sich auch auf den Code auswirken, der in der Anwendung ausgeführt wird (schließlich läuft diese plötzlich unter einer neuen, noch nicht getesteten Version der Rendering-Engine!). Ich suche nach einer Möglichkeit, dieses automatische Update zu deaktivieren, konnte sie aber nicht finden Bisher keine Lösung. Ich habe darüber nachgedacht, ein anderes WebView eines Drittanbieters zu installieren, das dann hoffentlich nicht automatisch Updates erhält, aber es scheint, dass die meisten Alternativen nicht mehr gepflegt werden oder einfach nicht funktionieren (ich erhalte beim Versuch eine Fehlermeldung). um das APK zu installieren).
Beachten Sie, dass ich nichts tun kann, was Root-Zugriff erfordern würde, da die Zahlungsabwicklungs-App dann nicht mehr funktionieren würde (sie erfordern eine „sichere“ Umgebung ohne root, mit SafetyNet OK und Entwicklermodus deaktiviert).
Irgendwelche Ideen?
- Kann ich dieses Update irgendwie deaktivieren?
- Oder kann ich meine Anwendung irgendwie als „kritisch“ markieren, damit das Update nicht während der Ausführung erfolgt bzw. nicht beendet wird?
- Oder gibt es zumindest eine Möglichkeit, dies zu tun? Kann der fehlerhafte Zustand verhindert werden, indem sichergestellt wird, dass die Sperraufgabe deaktiviert ist, wenn meine App beendet wird, selbst wenn sie beendet wird?
- Oder kann ich irgendwie eine Kopie des WebViews „bündeln“, das anstelle der Systemkopie verwendet wird (die App basiert übrigens auf Cordova)? - Ich habe das „Crosswalk Project“ gefunden, das genau das getan hat, aber es wurde vor vielen Jahren veraltet und wird auch nicht mehr weiterentwickelt...