Das Samsung Galaxy S3 wird standardmäßig mit "Aktivitäten nicht beibehalten" ausgeliefert (Testmodelle an zwei Standorten hatten beide diesen Fehler)
Dies bedeutet natürlich, dass, sobald eine andere Aktivität gestartet wird, auch in Ihrer Cordova / PhoneGap App, die Hauptaktivität Ihrer App zerstört wird. Alle Callback-Ereignisse werden natürlich nie ausgelöst.
Das Ausschalten der Option behebt das Problem.
Überprüfen Sie die Entwickleroptionen unabhängig von Marke / Modell, zum Beispiel haben Asus Nexus 7 Tablets diese Standardeinstellung nicht.
Ich habe eine grundlegende Test-App eingerichtet. Was hat eine Schaltfläche und ein Img-Tag + die unmodifizierte Cordova index.js
Button onclick ruft capturePhoto()
:
Wenn ich die App auf dem Simulator und auch auf einem Asus Nexus 7 Tablet laufe, öffnet sich die Kamera wie erwartet, ermöglicht die Aufnahme und Bestätigung eines Fotos und kehrt dann mit FILE_URI zurück und setzt das Bild src
-Attribut.
Aber auf einem Samsung Galaxy SIII, (wir testen mit zwei an verschiedenen Orten) die Kamera öffnet, ermöglicht eine Erfassung, und nach der Bestätigung, versucht die Test-App wieder aufzunehmen und stirbt.
Kennt jemand dieses Problem und gibt es eine Möglichkeit, es zu beheben?
Zu Ihrer Information, ich habe dem Knoten AndroidManifest.xml
activity eine zusätzliche Einstellung hinzugefügt: android:screenOrientation="nosensor"
- obwohl dies das Problem nicht löst (klammert sich hier an Strohhalme).
Getestete Versionen von phonegap - 1.8 - 2.4rc (alle sind abgestürzt oder gehen nicht zurück).
Relevanter Teil des Stacktrace ist hier: Ссылка
Getestet mit quality : 100
Gleiche Ergebnisse wie zuvor.
Keine Funktion.
Ich habe ein Samsung Galaxy Note II. Ich hatte das gleiche Problem. Ich habe dies in der AndroidManifest.xml geändert und jetzt funktioniert es auf Samsung und HTC Thunderbolt
%Vor%Haben Sie Hintergrundprozesse ausgeschaltet? Wenn dies der Fall ist, wird dies ALLE Android-Kameras beschädigen. Die Daten, die in der Absicht zurückgegeben werden, dürfen nicht null sein.
Achte auch darauf, dies zu deinem Android-Manifest hinzuzufügen:
%Vor%Die Tatsache, dass 2.4.x abstürzt, ist ein Fehler, da in diesem Fall etwas kaputt gegangen ist, das den Wiederaufnahmezustand behandelt hat, aber Tatsache ist, dass Sie Hintergrundprozesse benötigen, um die Daten von einer Absicht zu einer anderen zu übertragen mit jeder Android-Anwendung arbeiten. Wir fangen zumindest an, diesen Fall elegant zu behandeln. Die App, die geschlossen wird, könnte ein Bug sein, also wäre ich an einem Ticket interessiert: Ссылка
Aktualisieren : Siehe Ссылка
Tags und Links cordova samsung-mobile