Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
#1

Сервис не останавливается - Программирование Android

23.05.2016, 18:23. Просмотров 192. Ответов 4
Метки нет (Все метки)

Вот активити по нажатию на кнопку Start запускает сервис
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
26
27
28
29
30
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
 
    }
    public void onClickStart(View v) {
        startService(new Intent(this, MyService.class));
    }
 
    public void onClickStop(View v) {
        stopService(new Intent(this, MyService.class));
    }
 
}
А вот сам сервис

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
 
import java.util.concurrent.TimeUnit;
 
public class MyService extends Service {
 
    final String LOG_TAG = "Func";
 
    public void onCreate() {
        super.onCreate();
        Log.d(LOG_TAG, "onCreate");
    }
 
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.d(LOG_TAG, "onStartCommand");
        someTask();
        startService(new Intent(this, MyService.class));
        return super.onStartCommand(intent, flags, startId);
    }
 
    @Override
    public void onTaskRemoved(Intent rootIntent) {
 
        Log.d(LOG_TAG, "onTaskRemoved");
    }
 
    public void onDestroy() {
        super.onDestroy();
        Log.d(LOG_TAG, "onDestroy");
    }
 
    public IBinder onBind(Intent intent) {
        Log.d(LOG_TAG, "onBind");
        return null;
    }
 
    void someTask() {
 
        new Thread(new Runnable() {
            public void run() {
                for (int i = 1; i<=5; i++) {
                    Log.d(LOG_TAG, "i = " + i);
                    try {
                        TimeUnit.SECONDS.sleep(1);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                stopSelf();
            }
        }).start();
    }
}
В лог постоянно выводится onStartCommand и выводятся числа. Нажимаю на кнопку Stop - сервис не останавливается. Подскажите как исправить код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2016, 18:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сервис не останавливается (Программирование Android):

Сервис останавливается когда закрывается приложение - Программирование Android
Добрый вечер, господа. Перечитал очень много статей по поводу сервисов в Android. Вроде все делаю правильно, но не понимаю почему так...

Handler, поток не останавливается - Программирование Android
Добрый вечер. Не могу остановить таймер, при переходе на другую Activity. Возможно ли это вообще? Code: mport...

Приложение останавливается сразу после открытия - Программирование Android
Приложение открывается и сразу has stoped просто пытаюсь присвоить текст TextView package com.example.time; import...

Таймер останавливается при блокировке экрана - Программирование Android
Он как бы не останавливается вроде до конца, но, например, запускаю, блокирую экран, в реале жду примерно минуту, потом смотрю, он отсчитал...

При сворачивании приложения, останавливается радио - Программирование Android
Здравствуйте. у меня есть фрагмент, в котором при нажатии на play играет радио, когда я сворачиваю приложение, то останавливается радио....

Невозможно отладить приложение (не останавливается на брейкпоинтах) - Программирование Android
Здравствуйте! Пару дней назад начались непонятные глюки при отладке приложения. Idea прерывается в произвольных точках - в...

4
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
23.05.2016, 19:39 #2
Цитата Сообщение от yura91 Посмотреть сообщение
startService(new Intent(this, MyService.class));
Что эта строчка в сервисе делает?
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
23.05.2016, 20:06  [ТС] #3
Спасибо не заметил. Не подскажете а когда устройство переходит в спящий режим, чтобы сервис не засыпал его нужно будить только alarmом?
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
23.05.2016, 20:07 #4
yura91, или делать его foreground
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
23.05.2016, 20:48  [ТС] #5
startforeground() это вы имеете ввиду?
0
23.05.2016, 20:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2016, 20:48
Привет! Вот еще темы с ответами:

Приложение останавливается, когда делаю поворот экрана - Программирование Android
Приложение останавливается, потому что не все элементы использованы из вертикальной ориентации, но мне например в горизонтальной ориентации...

Неубиваемый сервис - Программирование Android
Как запустить сервис из активити и сделать так чтобы он не умерал вместе с активностью/приложением?

Не устанавливается сервис - Программирование Android
Возникла такая проблема: имеется приложение в котором есть только сервис (Activity нету). Если его запустит, то как я понимаю оно должно...

Сервис уведомлений - Программирование Android
Привет. Нужна помощь в создании уведомлений из сервиса. В приложение поступают данные с сервера get-запросом, хочу, чтобы приложение...


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

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

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