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

Сделать неубиваемый сервис

17.08.2017, 12:37. Просмотров 286. Ответов 0
Метки нет (Все метки)

Здравствуйте форумчане!
Нужно было сделать неубиваемый сервис, то есть, чтобы после закрытия программы сервис жил и процветал. Много чего вычитал, нашёл кое-что интересное, исходники снизу:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class HideNotificationService extends Service {
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
 
    public void onCreate() {
        Notification.Builder builder = new Notification.Builder(this).setSmallIcon(R.drawable.icon);
        Notification notification;
 
        Log.d("natification", "Create HideNotificationService");
 
        notification = builder.build();
 
        startForeground(777, notification);
 
        stopForeground(true);
    }
}
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
public class MyService extends Service {
    private static final int INTERVAL_CALL = 10;
 
    public static Intent newIntent(Context context) {
        Log.d("MyService", "MyService newIntnet");
        return new Intent(context, MyService.class);
    }
 
    public void onCreate() {
        super.onCreate();
 
        Notification.Builder builder = new Notification.Builder(this).setSmallIcon(R.drawable.icon);
        Notification notification;
 
        notification = builder.build();
 
        startForeground(777, notification);
        Intent hideIntent = new Intent(this, HideNotificationService.class);
        startService(hideIntent);
    }
 
    public int onStartCommand(Intent intent, int flags,int startId) {
        Log.d("MyService", "-----------------------------------------------------------------------------");
        Log.d("MyService", "MyService onStartCommand");
        //someTask();
        ThumbnailDownloader mThumbnailDownloader = new ThumbnailDownloader(getApplicationContext());
        mThumbnailDownloader.start();
        mThumbnailDownloader.getLooper();
        return START_STICKY;
    }
 
    public void onDestroy() {
        super.onDestroy();
    }
 
    public static void setServiceAlarm(Context context, boolean isOn) {
        Log.d("MyService", "MyService setServiceAlarm");
 
        Intent i = MyService.newIntent(context);
        PendingIntent pi = PendingIntent.getService(context, 0, i, 0);
 
        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
 
        if(isOn) {
            alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), INTERVAL_CALL, pi);
        } else {
            alarmManager.cancel(pi);
            pi.cancel();
        }
    }
 
    public IBinder onBind(Intent intent) {
        return null;
    }
}
Идея простая, наверное даже многие её знают. Сначала вызвать уведомление, потом запустить сервис под тем же id и убить уведомление. Всё хорошо работает, но иногда всплывает уведомление с иконкой программы, которое невозможно скипнуть.
Не понимаю, что происходит
-0.50
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2017, 12:37
Ответы с готовыми решениями:

Не получается сделать неубиваемый сервис
Как у приложения вк сделаны сервисы для отлавливания уведомлений в android. Дело в том, что они...

Неубиваемый сервис
Задача такая реализовать сервис, который время от времени будет присылать пуши. Перерыл весь гугл,...

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

Неубиваемый Service Android
Добрый день. В общем хочу написать приложение, которое мониторит заряд батареи и в случае...

Как создать неубиваемый системой сервис?
Использую сервис типа Service Sticky. Все бы хорошо. Но сервис прекращает свою работу при нехватке...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2017, 12:37

Хочу сделать вэб сервис
Здравствуйте. Подскажите какие готовые инструменты можно использовать. В учебных целях хочу...

В виде чего сделать Web-сервис?
Есть сайт в несколько страничек и есть приложение, которое я изначально сделал консольным (для...

Как сделать из сервера Сервис(службу)
Доброго времени суток. По задаче нужно написать клиент-серверное приложение. Но с условием, что...


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

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

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