Jestem nowy w Androidzie, nie jestem zbyt świadomy usług.i mam klasę aktywności z interfejsem użytkownika, chcę, aby ta klasa aktywności działała w tle, kiedy kliknę przycisk Wstecz. Jak zrobić moją aktywność działa w tle jak usługi, plz mi pomóc ..Wykonywanie działań w tle
Odpowiedz
Jeśli chcesz po prostu swoją aktywność działa w tył Spróbuj użyć
Movetasktoback(true);
ok. to działało dla mnie .. –
@ user2208695 czy możesz powiedzieć, gdzie to napisać –
Należy przeczytać podręcznik programisty na wątków: http://developer.android.com/guide/components/processes-and-threads.html
konkretnie funkcji doInBackground() przykład ze strony:
public void onClick(View v) {
new DownloadImageTask().execute("http://example.com/image.png");
}
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
protected Bitmap doInBackground(String... urls) {
return loadImageFromNetwork(urls[0]);
}
/** The system calls this to perform work in the UI thread and delivers
* the result from doInBackground() */
protected void onPostExecute(Bitmap result) {
mImageView.setImageBitmap(result);
}
}
Nie chcę, aby to był wątek .. chcę tylko uruchomić to w backgroung jak usługa ... moja działalność składa się z menedżera telefonii, odbiornika transmisji itp., Więc nie ma potrzeby, aby przejść do wątku –
@Jesbin MJ Sprawdź edytuj – RyPope
Nie można naprawdę uruchomić Activity
w tle! Gdy działanie nie jest na pierwszym planie, dostaje się do onStop
, a następnie system może go zakończyć, aby zwolnić zasoby, metodą onDestroy
! zobacz Activity Lifecycle
W celu uruchomienia na tle trzeba stworzyć Service
lub IntentService
Kasa android javadoc o usługach here i here lub IntentService
i tutaj jest osobą trzecią Android Service Tutorial
Edytuj: może być również potrzebna komunikacja między usługą a działaniem, aby można było przez to przejść: Example: Communication between Activity and Service using Messaging
przeszedłem przez to, ale nie dostałem tego. jak powiązać moją klasę aktywności z klasą usług –
zobacz także ostatnią edycję ... – madlymad
Wygląda na to, że chcesz uruchomić działanie w tle po zamknięciu. Aktywności nie można jednak uruchamiać, chyba że jest na pierwszym planie.
Aby osiągnąć to, czego chcesz, w trybie onPause(), powinieneś uruchomić usługę, aby kontynuować pracę. Funkcja onPause() zostanie wywołana po kliknięciu przycisku Wstecz. W opcji onPause, po prostu zapisz bieżący stan i prześlij zlecenie do usługi. Usługa będzie działać w tle, gdy twoja aktywność nie jest na pierwszym planie.
Po powrocie do aktywności później, zrób coś w onResume(), aby ponownie przenieść pracę usługi do swojej aktywności.
- 1. sekwencyjne wykonywanie procesów w tle uniksowych
- 2. ASP.NET MVC3 Zatrzymaj wykonywanie działań/kontroler w zwyczaju AuthorizeAttribute
- 3. Wykonywanie działań zgodnie z obietnicami jest spełniane za pomocą Promise.all()
- 4. Zapisywanie rozpoczętych działań w Androidzie
- 5. Wysyłanie dalszych działań podczas obsługi działań
- 6. stos działań
- 7. wifi zmieniło działań w android
- 8. Przechowywanie działań użytkownika w Django
- 9. Zadanie w tle i wykrywanie uruchomionej aplikacji
- 10. PHP: Czy cURL zakończy działanie w tle, czy zablokuje dalsze wykonywanie skryptu?
- 11. Wykonywanie zrzutów wątków w produkcji
- 12. Wstrzymaj wykonywanie kodu JavaScript w interfejsie UIWebView
- 13. Jak uruchomić aplikację w tle w systemie Windows Phone?
- 14. Wykonywanie javascript w PHP
- 15. Wykonywanie polecenia w Haskell
- 16. Sekwencja działań WiX
- 17. Pobieranie w tle iOS w tle dla lokalnych powiadomień
- 18. Uruchamianie działań w zakładce w Androidzie
- 19. Aplikacja działająca w tle
- 20. Lokalne powiadomienie w tle
- 21. Skanowanie w tle iBeacon
- 22. Proces PHP w tle
- 23. Używanie Selenium w tle
- 24. Licznik czasu w tle
- 25. Uruchamianie AVAssetExportSession w tle
- 26. UITableViewController Obraz w tle
- 27. iphone - NSTimers w tle
- 28. Uruchamianie WebView w tle
- 29. najlepsza metoda na tle przesyłającej w Android
- 30. Aplikacja nie działa w tle w ios 7
wprowadzenia usługi w metodzie OnPause(), zatrzymać go w onResume(). Jeśli chcesz zmienić działanie w usługę, powinieneś korzystać z usługi. –
Następnie należy napisać usługę? –
@RaghavSood możesz wyjaśnić, jak sprawić, aby moja działalność stała się usługą –