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.

  • Android-Lokalisierungsproblem: Nicht alle Elemente im Layout-Update ordnungsgemäß beim Umschalten von Locales
  • Scroll funktioniert nicht in NestedScrollView, wenn versucht wird, von Ansichten mit Klickereignissen zu scrollen
  • Wie kann ich feststellen, welche Javascript-Engine (v8 oder JSC) zur Laufzeit in Android verwendet wird?
  • Anzeigen von Soft-Tastatur, wenn AlertDialog.Builder-Objekt geöffnet wird
  • Farbe in strings.xml ändern
  • ? Android: attr / selectableItemBackground nicht sichtbar genug auf einem dunklen Hintergrund
  • 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?

  • Android Endlose Liste Speicherverwaltung
  • Ersetzen Sie selektive Bilder programmgesteuert
  • RequiresApi vs TargetApi android Annotationen
  • Gibt es ein Beispiel für Spanned und Spannable Text
  • Ist es möglich, einen Rundfunkempfänger als innere Klasse in Manifestdatei zu definieren?
  • So entfernen Sie den unteren Teiler der Fußzeile in einer android listview
  • 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.