Phonegap Android-Anwendung neu starten statt wieder aufzunehmen, obwohl es nicht durch das Betriebssystem getötet wurde

Ich habe eine Phonegap 1.5 / Android Anwendung erstellt.

Mein Client berichtet, dass, wenn er die App mit der Home-Taste verlässt und dann mit dem App-Symbol neu startet, wird die App von Anfang an neu gestartet, anstatt wieder aufzunehmen. Allerdings, wenn er die Home-Taste hält, erscheint die App in den letzten Apps, und wenn er auf die App über dieses Menü zugreift, wird die App in der erwarteten Weise fortgesetzt.

Ich dachte, dies könnte mit der App verknüpft werden, die automatisch durch das Betriebssystem aufgrund eines Mangels an Speicher geschlossen wird, aber wenn das der Fall war, sollte die App nicht wieder aufgenommen werden, wenn in den letzten Apps geklickt wird.

Ich konnte den Fehler nicht auf meinem Sony Ericsson XPERIA mit Android 2.3.4 reproduzieren, der Client hat dieses Verhalten auf einem Motorola Defy und auf einem anderen Handy erlebt (ich füge die Referenz des anderen Telefons und der OS Versionen sobald ich schnappt sie).

Der Initialisierungsprozess der App wird auf diese Weise erklärt:

window.addEventListener('load', function(){ document.addEventListener('deviceready', _onDeviceReady, false); }, false); 

Könnte dies behoben werden, indem man die Prozesse an andere Ereignisse anhängt (obwohl ich es bezweifle, scheint die App wirklich von Anfang an neu zu starten)?

Gibt es eine Erklärung, um im Android Manifest zu machen, um dieses Verhalten zu verhindern?

Hier ist die Aktivitätsunterschrift in meinem AndroidManifest.xml

  <application android:debuggable="true" android:icon="@drawable/appicon" android:label="@string/app_name" > <activity android:configChanges="orientation|keyboardHidden" android:name=".MyAppActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter> </intent-filter> </activity> </application> 

Ist das ein bekannter Fehler in einigen Android-Handys / Versionen?

Bearbeiten : Halten der Home-Taste zeigt nicht die aktuell ausgeführten Apps, sondern die letzten Apps. Warum wäre das Verhalten in diesem Menü anders als das Hauptsymbol?

  • PhoneGap Erste Schritte mit Android "Fehlt eine der folgenden"
  • Firebase-Projekt Ergebnisse in "Auth / Netzwerk-Anfrage-fehlgeschlagen" Fehler beim Login
  • Build.phonegap plugin nicht unterstützt: cordova-plugin-whitelist @ 1
  • Apache Cordova Facebook Plugin Fail On Init - Android
  • Verschachtelter Verzeichnis-Ersteller: Phonegap
  • Verbindung PhoneGap mit localhost Webservice
  • Es ist nicht möglich, das Kontaktdatenbild im Telefonbereich anzuzeigen
  • Überprüfen Sie die Internetverbindung in Android WebView (Cordova)
  • 5 Solutions collect form web for “Phonegap Android-Anwendung neu starten statt wieder aufzunehmen, obwohl es nicht durch das Betriebssystem getötet wurde”

    Sie möchten dem Aktivitäts-Tag in Ihrem AndroidManifest.xml Folgendes hinzufügen:

     android:launchMode="singleTask" 

    So sollte es so aussehen:

     <activity android:name="MyApp" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:launchMode="singleTask"> 

    Schauen Sie sich diese Seite für weitere Informationen über launchMode an: http://www.intridea.com/blog/2011/6/16/android-undernis-activity-launchmode

    Hey Lucas hast du:

     android:configChanges="orientation|keyboardHidden" 

    In deinem Aktivitäts-Tag in deiner AndroidManifest.xml.

    Wie Sie gesagt haben, dass die andere Sache, die passieren könnte, ist Ihr Client-Telefon läuft niedrig auf Speicher und das Betriebssystem tötet Ihre App, um Speicher zu befreien.

    Dies ist eigentlich von Design in Android, wo das Betriebssystem steuert den Lebenszyklus der Anwendung. Hier finden Sie weitere Informationen .

    Versuche es…

    Verwenden Sie android: launchMode = "singleInstance" im Aktivitäts-Tag Ihrer Manifestdatei.

    Ich habe eine Samsung Galaxy Note II und ich traf das gleiche Problem. Also habe ich die AndroidManifest.xml geändert und jetzt funktioniert es sowohl auf Samsung und HTC Thunderbolt.

    Hier sind die Änderungen:

     <uses-feature android:name="android.hardware.camera" android:required="false"/> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="10"/> <activity android:configChanges="orientation|keyboardHidden" /> 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.