2017-12-28 38 views
0

Ich schreibe eine App und habe einen Fehler Ich habe aufrichtig keine Ahnung, wie zu lösen. Ich habe zwei Aktivitäten A und B, von Aktivität A Ich drücke eine Taste, um die B-Aktivität zu starten, aber wenn ich das mache, verschwindet die Layout-Aktivität A. Beachten Sie, dass B einen transparenten Hintergrund hat, damit Benutzer Elemente von Aktivität A sehen können. Allerdings stoße ich dieses Problem nur auf Android 5.0-Geräten, auf anderen API-Ebenen funktioniert die App wie vorgesehen. Ich hoffe jemand hat ein ähnliches Problem oder fängt das Problem in meiner Logik auf. P.S. Ich erklärte Aktivität A Startmodus als "singleTask" und B als "Standard". Das ist, wie ich die Aktivität beginnen:Android 5.0 Eröffnung Aktivität über eine andere Aktivität tötet die erste Aktivität

 Intent intent = new Intent(GameActivity.this, MenuActivity.class); 
    startActivity(intent); 

Bitte beachte, dass ich (nicht finnisch nennen) nach dem Start Aktivität und ich auch alle Arten von Fahnen auf die Absicht zu setzen versucht, aber das Problem weiterhin besteht und dass nur auf Android 5.0 . hier ist der manifeste Code für die beiden Aktivitäten:

<activity 
     android:name=".activities.MenuActivity"> </activity> 
    <activity 
     android:name=".activities.GameActivity" 
     android:launchMode="singleTask"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

und in onCreate() in der GameActivity ich die MenuActivity wie folgt beginnen:

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.game_layout); 

    initViews(); 

    Intent intent = new Intent(GameActivity.this, MenuActivity.class); 
    startActivity(intent); 

} 
+1

Ich empfehle Aktivitäten mit würde transparent Ansichten oder Fragmente statt Aktivitäten – Blundell

+0

Das ist, wie ich die erste Version entworfen haben und jetzt schien es modulierte und organisiert zu verwenden. Vielen Dank für Ihren Vorschlag! – Madalin

+0

Gehen Sie zu den Optionen des Entwicklers und schauen Sie nach, ob 'Aktivitäten nicht beibehalten 'aktiviert ist! –

Antwort

1
Intent intent = new Intent(GameActivity.this, MenuActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

dieses Probieren Sie es Ihnen helfen.

+1

Vielen Dank für die Antwort auf diese, ich habe bereits versucht, diese Flagge ohne Ergebnisse – Madalin

+0

Bitte teilen Sie detaillierte Code, mit dem ich identifizieren kann, was das eigentliche Problem ist? Vielleicht hast du etwas falsches in Manifest oder in Spielaktivität gemacht, während du zu einer anderen Aktivität gegangen bist. –

+0

Ich aktualisierte die Antwort – Madalin

1

Versuchen Sie, diese

Intent intent = new Intent(GameActivity.this, MenuActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
+0

Ich versuchte es auch, kein Ergebnis. Denken Sie daran, dass die App auf anderen Android-Versionen gut funktioniert. – Madalin

+0

@Madalin Dieses Problem ist in allen 5.0-Geräten oder einem bestimmten 5.0-Gerät aufgetreten. –

+0

Ich hatte das Problem sowohl auf dem Emulator, als auch auf zwei verschiedenen physischen Geräten, also denke ich, dass es ein allgemeines Problem ist – Madalin

Verwandte Themen