Одна копия класса вызываемого сервисом

Ответить
Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Одна копия класса вызываемого сервисом

Сообщение neoksi » 26 июл 2012, 11:10

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

Суть в том, что через AlarmManager раз в n-ное количество времени служба вызывает отдельный класс, который выполняет необходимые действия. Насколько я понимаю, каждый раз создается отдельная копия этого класса. Мне в этом классе необходимо реализовать проверку, запущенны ли другие копии этого класса, если они есть, то ничего не делать, а если нету, то выполнять действия. Смотрел в сторону static переменной, но только не совсем понимаю как она действует.

К примеру, так мы инициализируем static переменную в классе:

Код: Выделить всё

public static boolean magicKey = false;
Она будет инициализироваться и перезаписываться при вызове каждой копии класса?
Или она инициализируется только при первом вызове класса, и далее я свободно могу её менять в разных копиях этого класса для передачи данных между ними?

Ответить