Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Акыл
6 / 6 / 6
Регистрация: 22.03.2012
Сообщений: 128
#1

Завершение сервиса - Программирование Android

10.05.2013, 22:38. Просмотров 1042. Ответов 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.
что может быть не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 22:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Завершение сервиса (Программирование Android):

Восстановление сервиса и Intent
Добрый день! Разбираюсь с сервисами по одному из интернет уроков, возникла...

Создание неубиваемого сервиса
А как можно создать неубиваемый сервис кроме метода startforaground()? Может...

Два сервиса и Notification
Друзья, в приложении есть сервис, в нем формируется уведомление, в котором есть...

Запуск и останов сервиса
Здравствуйте, поздравляйте с почином, первое сообщение) Вопрос такой: пишу...

Разбудить телефон из сервиса
Плиз, помогите. Как из сервиса (IntenetService) разбудить телефон на время...

Управление громкостью из сервиса
в сервисе воспроизводится звук с некоторыми промежутками, получается клавиши...

7
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.05.2013, 22:48 #2
Цитата Сообщение от Акыл Посмотреть сообщение
Но сервис не прекращает работать,
как вы это определили?
0
Hank
63 / 54 / 4
Регистрация: 28.12.2011
Сообщений: 297
10.05.2013, 22:50 #3
Что происходит в сервисе? У меня было такое, в сервисе работал цикл while. После завершения сервиса, он (цикл) по непонятной мне причине продолжал работать (не разбирался почему). Перед остановкой сервиса его нужно остановить. Возможно у Вас тоже самое.
0
Акыл
6 / 6 / 6
Регистрация: 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);
    }
и он продолжает отлавливать запуск диктофона и завершения сервиса
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.05.2013, 22:56 #5
ну так здесь же бесконечный цикл...
0
Акыл
6 / 6 / 6
Регистрация: 22.03.2012
Сообщений: 128
10.05.2013, 23:07  [ТС] #6
а как его остановить?
0
V0v1k
1160 / 984 / 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;
0
Акыл
6 / 6 / 6
Регистрация: 22.03.2012
Сообщений: 128
10.05.2013, 23:11  [ТС] #8
а куда его?

Добавлено через 1 минуту
а все)
0
10.05.2013, 23:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 23:11
Привет! Вот еще темы с решениями:

Завершение потока
Необходимо корректно завершить поток. Сейчас код такой class MyThread...

Исходники сервиса с сокет-клиентом
Нужно написать подобное и не хочу писать все с нуля... Изобретать велосипед......

Обращение из сервиса к основному (UI) потоку
как сделать так чтобы из сервиса можно было обращаться к основному потоку в...

Два сервиса в одном приложении
В программе был один сервис - перезапускался если смахнуть со шторки и если...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru