2013-03-18 2 views
0

Я отправляю некоторые данные из своей активности на сервер. Я держу это работает в фоновом режиме, используя:поддерживать активность в фоновом режиме

public void onBackPressed() { 
    moveTaskToBack (true); 
} 

Но если данные не послать за сказать о 10min из-за какой-то сетевой проблемы. После восстановления из n/w проблемы он не продолжает отправлять.

Почему это так? Запускается ли какое-либо действие после того, когда ему нечего делать?

+4

использовать услугу для отправки данных на сервер. Работает в фоновом режиме. http://developer.android.com/guide/components/services.html. проверьте намерение службы. – Raghunandan

+0

спасибо за ответ ур. – user2082987

ответ

1

Проверьте documentation. Этот метод просто перемещает вашу активность в конец стека действий, он все еще приостанавливается и, следовательно, имеет право на завершение работы ОС. Ваша деятельность, вероятно, уничтожается.

Если вы хотите, чтобы определенный процесс продолжал работать, пока ваша деятельность приостановлена, используйте службу, например, предложенную Рагхунанданом, или запустите AsyncTask, если вам необходимо обновить интерфейс после завершения отправки данных.

2

Вы можете просто запустить Service, который будет работать в фоновом режиме и отправить свои данные на сервер. Если вы назовете это в основном потоке активности, оно может повесить вас на активность и не сможет обработать его, потому что активность имеет жизненный цикл. Это может закончиться UP! запустите фоновое обслуживание и выполните всю операцию в нем. :)