Tak więc, jestem nowy w Javie i do tworzenia aplikacji na Androida, ale nie jest to nowość w programowaniu. Przeczytałem większość strony developer.android.com, ale nie udało mi się tego znaleźć:Zapobiegaj zduplikowanym działaniom
Chcę się upewnić, że pewne działanie nie działa więcej niż jeden raz w tym samym czasie . Mamy więc zadanie nieco jak poniżej:
aktywny A) TabActivity, który uruchamia
aktywny b) ListView, że na kliknięcie, otwiera
Activity C), który jest interfejsem dla obiektu MEDIAPLAYER
W tej chwili, gdy ktoś naciśnie przycisk Wstecz podczas pobytu w C (Co jest prawdopodobne, ponieważ będą słuchać strumieniowego 1-godzinnego pliku mp3), a następnie naciśnie inny element listy zamiast powrotu do C, C jest otwierany po raz drugi i odtwarzane są dwa strumienie. Oczywiście, chciałbym, aby tylko jedna instancja C działała, i chcę drugie kliknięcie elementu listy, aby przywrócić C z powrotem na przód. Może to być również przydatne dla celów powiadamiania.
Robiłem zamieszanie z flagami (zwłaszcza FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_CLEAR_TOP i FLAG_ACTIVITY_REORDER_TO_FRONT), ale jak dotąd nie udało się.
Jeśli ktoś może mi pomóc tutaj mogłem skupić się na kolejne wyzwanie - co czyni go prawdziwą czytnika kanałów: P
góry dzięki,
Jestem też bardzo nowy na Androida, ale myślałem, że Intents miał to zrobić dla ciebie. Jak uruchamiasz działanie C? –
Intent i = new Intent (MixesActivity.this, StreamController.class); \t i.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); \t startActivity (i); Edytuj> Flagi, które są tam w celach testowych. –
Witam, o ile mi wiadomo, zamiary mogą pomóc przekazać wiadomość między różnymi działaniami, więc wywołaj instancję Intent w każdej klasie java, aby przełączać się pomiędzy tymi akcjami, wiążąc akcje z tymi przyciskami itd. Przepraszamy za nie więcej propozycji ... "C jest otwierany po raz drugi i odtwarzane są dwa strumienie", co oznacza, że C nie jest On OnPaused po naciśnięciu listy? Przy okazji, czy FLAG jest niezbędny? – ladyfafa