私はカウントダウンタイマーを設計していますが、これは完璧に動作しますが、これはActivity
にとどまっています。カウントダウンが始まり、たとえば私が戻って他のActivity
を開始すると、countdonwsはカウントダウンを続けます。そして論理的には、カウントダウンタイマーがどこにあるのかを再開すると、何もカウントダウンしていないように見えますが、バックグラウンドでカウントダウンしています。タイマーのオンチクで、通知タブ。さまざまなアクティビティでカウントダウンタイマーを取得する
コードは次のとおりです。sendnotificationメソッドは、時刻が終了するとアラートをスローするメソッドで、sendnotificationTiempo
は、毎秒タブに通知を送信して先頭に表示します。
public static final int NOTIFICATION_ID = 33;
public static final int NOTIFICATION_ID_Tiempo = 34;
private int minCrono;
TextView text;
MyCounter timer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StartCrono = (Button) findViewById(R.id.butt_start);
CancelCrono = (Button) findViewById(R.id.butt_cancel);
text=(TextView)findViewById(R.id.text_countTime1);
CancelCrono.setEnabled(false);
minCrono = mins.getCurrentItem();
StartCrono.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
minCrono=(60000*minCrono);
timer = new MyCounter(minCrono,1000);
timer.start();
}
});
CancelCrono.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
timer.cancel();
text.setText("El tiempo se ha cancelado");
minutosCrono = mins.getCurrentItem();
if (mNotificationManager != null)
mNotificationManager.cancel(NOTIFICATION_ID_Tiempo);
}
});
}
カウントダウンクラス:
public class MyCounter extends CountDownTimer{
public MyCounter(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
StartCrono.setEnabled(true);
CancelCrono.setEnabled(false);
mins.setEnabled(true);
minCrono = mins.getCurrentItem();
//
text.setText("Time Complete!");
sendnotification("Guau", "Time finished.");
}
@Override
public void onTick(long millisUntilFinished) {
long segRestantesTotal=(millisUntilFinished/1000);
long minRestantes= (segRestantesTotal/60);
long segRestantes= (segRestantesTotal%60);
if(segRestantes>=10){
text.setText(minRestantes+":"+segRestantes);
sendnotificationTiempo("Guau", minRestantes+":"+segRestantes);
}
else{
text.setText(minRestantes+":0"+segRestantes);
sendnotificationTiempo("Guau", minRestantes+":0"+segRestantes);
}
}
}
}
それでは、私は希望を行うには、何であるかの時間を表示するために、私はActivity
を戻って、私は別のものを起動したときに知ることです例えばテキストビューでそれを示すためにバックグラウンドでカウントダウンします。
通知タブから完全にカウントダウンしている時間を取得できますか。 ありがとう!
buff私は迷っています!通知バーに表示されている時間を取得することは可能ですか?毎秒カウントダウンがあるので – Txispas