저는 완벽하게 작동하지만 카운트 다운 타이머를 설계하고 있습니다.이 경우 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);
}
});
}
카운트 다운 클래스 : 나는 다시 Activity
가서 내가 무슨 일이있는 시간을 표시하기 위해 다른 하나를 시작하면
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);
}
}
}
}
그래서 난 할 것, 아는 것입니다 백그라운드에서 카운트 다운하여 예를 들어 텍스트보기에 표시합니다.
또는 알림 탭에서 완벽하게 시간이 초과 될 수도 있습니다. 감사합니다.
버프 분실했습니다! 알림 표시 줄에 시간을 표시 할 수 있습니까? 매초 카운트 다운이 있기 때문에 – Txispas