2017-12-12 2 views
-2

auf eine andere Tätigkeit zu bewegen habe ich eine Tätigkeit, die eine Taste hat, auf mit nur einem Fortschritt Kreis, der Taste ändert sich der Bildschirm auf einen leeren Bildschirm klicken. Dann sollte nach 30 Sekunden der nächste Bildschirm angezeigt werden, aber vor diesem Bildschirm wird erst eine Sekunde lang aktiv und dann zu diesem gewechselt.Wie kann ich vorherigen Bildschirm spritzen verhindern, wenn in android

Beispiel:

Screen1-> Screen2-> Screen3-> Screen4 

Wenn man von screen3screen4 zu bewegen, wird screen2 für eine Sekunde lang angezeigt. Wie verhindere ich das?

Auch muss ich der Lage sein, screen2 von screen4 auf der Rückseite drücken um zurück zu gehen.

ich viele ähnliche Fragen auf SO gesucht, aber keiner scheint für mich, zum Beispiel zu arbeiten. Geben Sie einen finish() Aufruf in screen2, startet die Anwendung nicht einmal screen2 bleibt in screen1.

versuchte auch setVisible(false), dies für den Fall nicht funktioniert I-Taste in screen4 klicken zurück, zeigt es leeren Bildschirm statt screen2.

+0

Fügen Sie Ihren Code versucht, –

+0

versuchen Sie overridePendingTransition (0, 0) mit Absicht –

+0

Ihre screen2 'android machen: Nohistory = "true"' in Manifest-Datei Code – Prem

Antwort

0

Ich entschuldige mich, wenn ich nicht die Frage klar gemacht hat, ist Screen2 eine Tätigkeit, die einen Dienst startet, während Screen3 aktiv ist und dann den Dienst beendet, wenn die App bewegt zu Screen4.

bekam ich diese Lösung:

registerReceiver(finishCallReceiver,new IntentFilter("Done")); 
finishCallReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      finish(); 
     } 
    }; 

Dann im Dienst Ich nenne nur

Intent intent = new Intent("Done"); 
sendBroadcast(intent); 

auch den Rundfunkempfänger in onResume der Aktivität registrieren.

Verwandte Themen