Moja aplikacja to zegar z aplikacją typu alarmu. Po wygaśnięciu licznika czasu chcę przywrócić główną aktywność aplikacji do widoku, jeśli użytkownik odszedł, ale aplikacja jest nadal uruchomiona.Przynieś aplikację z powrotem na przód
pokażę gdzie chciałbym umieścić niezbędne kod:
public class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
/** code here to bring the app back to the front/top of stack, in its current state */
timeDisplay.setText("Expired.!");
ReminderFlashingScreen.setVisibility(View.GONE);
statustab.setBackgroundResource(R.drawable.redtab);
seeker.setProgress(0);
reset.setBackgroundResource(R.drawable.resetbtnoff);
playExpiredAlarm();
alarmAnimation.start();
flasher.setVisibility(View.VISIBLE);
StopAlarmButtonAnimation.start();
StopAlarmButton.setVisibility(View.VISIBLE);
expired = true;
}
public void onTick(long millisUntilFinished) {
remindertimepref = prefs.getString("reminderTime", "<unset>");
remindtime = Integer.parseInt(remindertimepref.trim());
timeDisplay.setText(formatTime(millisUntilFinished));
seeker.setProgress((int) (millisUntilFinished/1000/60) + 1);
if (used == true){
reminder_time = ((int) (millisUntilFinished/1000));
if (reminder_time == remindtime){
reminderalarm();
used = false;
}
}
}
}
Co jeśli użytkownik opuści na coś bardziej intensywny pamięci i system decyduje się zabić swoją aplikację? Chodzi mi o to, myślę, że chcesz ustawić czasomierz w serwisie. Następnie możesz wysłać audycję, której słucha twoja aplikacja po upływie ustawionego czasu. Prostsze i czystsze! – codinguser
Coś, czego potrzebuję, aby przeczytać dalej. Nowość na Androida, a moja pierwsza myśl to: Jeśli aplikacja zostanie zabita, co pozostanie w hrabstwie ..? Wiem, jak zapisać bieżący stan, ale nie ma to żadnego znaczenia, ponieważ timer byłby wstrzymany. Twoje rozwiązanie brzmi jak trasa, którą powinienem eksplorować, wszelkie wskazówki na temat tego, co powinienem szukać/dociekać, docenić. – 11Monkeys
Pomyśl o korzystaniu z Android AlarmManager http://developer.android.com/intl/de/reference/android/app/AlarmManager.html zamiast śledzić czas samodzielnie, użyj go przynajmniej po odebraniu wywołania onPause. Pozwoli to zaoszczędzić użytkownikowi dużo baterii i wykorzystanie procesora. – Janusz