私のアプリケーションは、アラームタイプのアプリを備えたタイマーです。 タイマーが終了すると、ユーザーがナビゲートしてもアプリの主なアクティビティが表示されますが、アプリはまだ実行されています。アプリケーションを前面に戻す
私は必要なコードを配置したい場所を私は示しています
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;
}
}
}
}
何場合は、ユーザーがより多くの何かのメモリ集中的に離れてナビゲートし、システムアプリを殺すことにしましたか?私の主張は、タイマーをサービスに入れたいと思うことです。タイマーが完了したら、あなたのアプリが聴いている放送を送ることができます。よりシンプルでクリーナー! – codinguser
何か私は上に読み込む必要があります..アンドロイドに新しい、と私の最初の考えている:アプリが殺された場合、何をカウントを保持する..?私は現在の状態を保存する方法を知っていますが、タイマーが一時停止されるので目的はありません。あなたのソリューションは、私が探索しなければならない/探しているべきもので、何かの点を探っていなければならないルートのように聞こえる。 – 11Monkeys
onroid AlarmManagerの使用について考えてみましょうhttp://developer.android.com/intl/de/reference/android/app/AlarmManager.htmlあなたがonPause呼び出しを受け取った後に少なくともそれを使用する時間を記録するのではなく、これにより、バッテリとCPUの使用量が大幅に削減されます。 – Janusz