2

Я объявил службу, которая будет действовать как очередь. Поэтому у меня есть переменная, которая сообщает службе, что это первый запуск, а другой, который хранит значение.Переменные в моем сервисе/IntentService сбрасываются при каждом запуске

код выглядит следующим образом:

public class TTSQueue extends Service { 

private Integer lastvol = 0; 
private Boolean isFirstStart = true; 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Bundle b = intent.getExtras(); 
    Integer vol = b.getInt(TTS.PARAM_LAST_VOL, 0); 
    if (vol > lastvol) { 
     lastvol = vol; 
    } 
    if (isFirstStart) { 
     isFirstStart = false; 
     startAnotherService(); 
    } else { 
     waitForAnEventAndThen_startAnotherService(); 
    } 

} 

Хорошо, проблема, эта служба запускается из приемника. И каждый раз, когда он запускается, обнуляются и lastvol, и isFirstStart. Я думал, что если Служба уже создана, а затем запущена с Intent, она снова вызовет только onStartCommand() и не сбросит все.

Я также пробовал только объявлять переменные и устанавливать их по умолчанию в onCreate(), но это имело такой же эффект. Также я попытался заменить Service на IntentService, но это тоже не помогает.

Хотелось бы избежать использования SharedPreferences, так как я не думаю, что это необходимо в этом случае. (И я не хочу тратить время на запись циклов записи пользователя).

Я что-то упустил? Думаю, это не из-за объявления private, не так ли?

+1

Марк из Дуэтленда! Я понятия не имею, но я поддержал это. – wwwroth

ответ

0

Это, безусловно, не имеет ничего общего с тем, что члены являются частными.

Я не уверен, что это проблема, но я мог представить себе один из этих кандидатов:

  • Службы завершается до прихода второго запроса.
  • Receiver порождает новый процесс, потому что он реагирует на «намерение системы».

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

+0

Большое спасибо, причина в том, что сервис был прерван. Weird. Но сейчас он работает, спасибо! – Force

 Смежные вопросы

  • Нет связанных вопросов^_^