Android: Какой лучший способ повторить действие через службу, не повторяя диспетчер тревог? - PullRequest
0 голосов
/ 14 марта 2012

Хотелось бы узнать, как лучше всего повторить действие через сервис без повторяющегося диспетчера аварийных сигналов.

Я запускаю службу с помощью диспетчера тревог («не повторяющийся» диспетчер тревог), потому что мне нужно, чтобы эта служба не была прервана андроидом.

Эта служба получает некоторые параметры, пока она активна, и ее следует уточнять, повторяя определенные действия. Если я использую диспетчер повторяющихся сигналов, служба не будет правильно их читать.

Я пытался использовать класс «таймер», но через некоторое время Android останавливает его, и служба ничего не делает.

Есть ли способ поддерживать службу активной, пока она использует таймер без Android, останавливает все?

Большое спасибо

1 Ответ

1 голос
/ 14 марта 2012

Вы можете сделать свой сервис приоритетным, например:

final int myID = 1234;
//This constructor is deprecated. Use Notification.Builder instead
        Notification notice = new Notification(R.drawable.ic_launcher, "Started  Alarm", System.currentTimeMillis());

        //This method is deprecated. Use Notification.Builder instead.
        notice.setLatestEventInfo(this, "Alarm.", "Please wait...", pendIntent);

        notice.flags |= Notification.FLAG_NO_CLEAR;
        //notification.flags |= Notification.FLAG_NO_CLEAR;


        startForeground(myID, notification);

тогда android остановит ваш сервис, только если нет другого пути и ваш сервис имеет высокий приоритет

единственное, что вам необходимо уведомление

...