Я делаю одно приложение, которое загружает множество файлов. Я начал работу с одной службой, которая загружает файлы непрерывно, чтобы уведомление также показывало текущее состояние загрузки, моя проблема в том, когда приложение получило сбой .Notification не уволен, а обслуживание все еще работает в фоновом режиме. Я пытался прекратить обслуживание в ondestroy службы, но это не помогло мне, пожалуйста, помогите мнеКак остановить службу при сбое приложения
ответ
Возможно, вы можете решить это, уничтожив его на MainActivity onDestroy метод? поэтому, когда ваше приложение выйдет из строя, это остановит службу.
Я загружаю файлы в фоновом режиме, поэтому всякий раз, когда я нажимаю кнопку «Назад», она уничтожает приложение, поэтому моя загрузка останавливается, что мне нужно всякий раз, когда приложение попадает в аварийное состояние, то время останавливается только на службе –
Могу ли я увидеть ваш код обслуживания ? –
Из документации: http://developer.android.com/guide/components/services.html#Stopping
Запущенного сервис должен управлять своим жизненным циклом. То есть система не останавливает или не уничтожает службу, если она не должна восстанавливать системную память , и служба продолжает работать после того, как onStartCommand() возвращает . Таким образом, служба должна остановить себя, вызвав stopSelf() или другой компонент может остановить его, вызвав stopService().
Примеры:
1- вызова stopSelf()
после работы сделано.
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// Use a Thread to not block your UI when doing operations over the network.
// See http://developer.android.com/reference/android/app/Service.html for more information.
new Thread(new Runnable() {
@Override
public void run() {
downloadSetOfFiles();
stopSelf();
}
}).start();
return START_NOT_STICKY;
}
}
2- вручную вызова stopService()
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
mView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
stopService(new Intent(MyActivity.this, MyService.class));
// Note: If clients are bound to the service,
// then the service will only stop after all clients are unbound.
}
});
}
}
Если вы не можете вручную остановить службу, потому что ваше приложение разбился, то служба должна прекратить себя, когда операция загрузки файлов через по телефону stopSelf()
.
- 1. Остановить службу при запуске приложения
- 2. Перезапустите службу Windows при сбое
- 3. Остановить службу SQL Server при установке приложения
- 4. Как отправить отчет о сбое на веб-службу при сбое приложения?
- 5. Отменить TimerTask при сбое приложения
- 6. Android, как остановить службу START_STICKY
- 7. Как отменить службу при завершении приложения Android
- 8. Проверка решения при сбое приложения
- 9. Выполнение кода при сбое приложения
- 10. Как остановить службу при нажатии кнопки «Домой»?
- 11. Как остановить службу при вызове метода onPause?
- 12. Как остановить службу ScheduledExecutorService?
- 13. Как остановить службу Strongloop?
- 14. Остановить службу при запуске внешнего процесса
- 15. Как очистить ostream при сбое приложения
- 16. Как развязать службу при уничтожении приложения
- 17. Как остановить приложение при сбое, когда строка пуста
- 18. Как запустить службу springboot при сбое соединения DB2
- 19. При сбое приложения при попытке удаления изображения
- 20. Как остановить службу без перезагрузки
- 21. Остановить или убить службу
- 22. Как остановить WatchService при завершении работы приложения?
- 23. Отправлять отчет о сбое на сервер при сбое приложения ipad?
- 24. Рамка носа Python: как остановить выполнение при первом сбое
- 25. Как остановить пакетное выполнение при сбое сборки maven
- 26. Как остановить транспортир от запуска дальнейших тест-систем при сбое?
- 27. Как остановить выполнение тестов MsTest при первом сбое?
- 28. Как остановить службу из службы
- 29. Как остановить веб-службу WCF?
- 30. Как программно остановить службу Windows?
исправление ошибки ... – danny117