Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Акыл
6 / 6 / 0
Регистрация: 22.03.2012
Сообщений: 128
#1

Завершение сервиса - Android

10.05.2013, 22:38. Просмотров 892. Ответов 7
Метки нет (Все метки)

вот метод завершающий сервис в основной активности:
Java
1
2
3
4
 public void onClickStop(View v) {
        stopService(new Intent(this, MainService.class));
        
      }
метод onDestroy в сервисе:
Java
1
2
3
4
public void onDestroy() {
        super.onDestroy();
        Log.d(LOG_TAG, "onDestroy");
    }
Но сервис не прекращает работать, при этом в лог выводится onDestroy.
что может быть не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.05.2013, 22:48     Завершение сервиса #2
Цитата Сообщение от Акыл Посмотреть сообщение
Но сервис не прекращает работать,
как вы это определили?
Hank
45 / 36 / 2
Регистрация: 28.12.2011
Сообщений: 217
10.05.2013, 22:50     Завершение сервиса #3
Что происходит в сервисе? У меня было такое, в сервисе работал цикл while. После завершения сервиса, он (цикл) по непонятной мне причине продолжал работать (не разбирался почему). Перед остановкой сервиса его нужно остановить. Возможно у Вас тоже самое.
Акыл
6 / 6 / 0
Регистрация: 22.03.2012
Сообщений: 128
10.05.2013, 22:53  [ТС]     Завершение сервиса #4
у меня работает таймер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void mainTask() {
        Runnable runnable = new Runnable() {
             
            @Override
            public void run() {
                int indikator=0;
                mrec.startRecording();
                indikator = mrec.getRecordingState();
                if (indikator!=AudioRecord.RECORDSTATE_RECORDING){
                    
                    if (k==0){
                        createNotification();
                        addToDataBase();
                        k=1;
                    }
                }
                else {
                    k=0;
                }
                mrec.stop();
                mainTask();
            }
        };
        mHandler.postDelayed(runnable, 1000);
    }
и он продолжает отлавливать запуск диктофона и завершения сервиса
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.05.2013, 22:56     Завершение сервиса #5
ну так здесь же бесконечный цикл...
Акыл
6 / 6 / 0
Регистрация: 22.03.2012
Сообщений: 128
10.05.2013, 23:07  [ТС]     Завершение сервиса #6
а как его остановить?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.05.2013, 23:08     Завершение сервиса #7
добавьте условие
Java
1
2
3
if(run) {
 mHandler.postDelayed(runnable, 1000);
}
и в нужный момент устанавливайте
Java
1
run = false;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 23:11     Завершение сервиса
Еще ссылки по теме:

Android Не работает автозагрузка сервиса AndroidStudio
Создание неубиваемого сервиса Android
Android Как из сервиса запустить fragment
Android Запуск и останов сервиса
Android Два сервиса и Notification

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Акыл
6 / 6 / 0
Регистрация: 22.03.2012
Сообщений: 128
10.05.2013, 23:11  [ТС]     Завершение сервиса #8
а куда его?

Добавлено через 1 минуту
а все)
Yandex
Объявления
10.05.2013, 23:11     Завершение сервиса
Ответ Создать тему
Опции темы

Текущее время: 10:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru