1
안드로이드 카운트 다운 타이머 앱을 개발하고 시작 버튼을 클릭하면 사용자가 시작 버튼을 클릭하면 카운트 다운 타이머가 표시되고 사용자는 타이머를 실행하고 나머지 활동은 사용자가 멈추고 타이머를 계속 실행하는 경우 타이머 만 멈추십시오.안드로이드 타이머 서비스
어떻게 서비스에서 타이머를 실행하고 활동 안드로이드에서 텍스트 뷰로 시간을 업데이트 할 수 있습니까?
안드로이드 카운트 다운 타이머 앱을 개발하고 시작 버튼을 클릭하면 사용자가 시작 버튼을 클릭하면 카운트 다운 타이머가 표시되고 사용자는 타이머를 실행하고 나머지 활동은 사용자가 멈추고 타이머를 계속 실행하는 경우 타이머 만 멈추십시오.안드로이드 타이머 서비스
어떻게 서비스에서 타이머를 실행하고 활동 안드로이드에서 텍스트 뷰로 시간을 업데이트 할 수 있습니까?
예. 가능합니다. 오래 전에 사용했던 코드 샘플을 사용하지 마십시오. 버튼을 사용하는 것이 아니라 마음에 드는 방법을 알려줍니다. 이 코드는이 서비스입니다
현재의 카운트 다운 값으로 액션 바의 MenuItem을 업데이트합니다
public class CountDownTimerService extends Service {
static long TIME_LIMIT = 300000;
CountDownTimer Count;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
Count = new CountDownTimer(TIME_LIMIT, 1000) {
public void onTick(long millisUntilFinished) {
long seconds = millisUntilFinished/1000;
String time = String.format("%02d:%02d", (seconds % 3600)/60, (seconds % 60));
Intent i = new Intent("COUNTDOWN_UPDATED");
i.putExtra("countdown",time);
sendBroadcast(i);
//coundownTimer.setTitle(millisUntilFinished/1000);
}
public void onFinish() {
//coundownTimer.setTitle("Sedned!");
Intent i = new Intent("COUNTDOWN_UPDATED");
i.putExtra("countdown","Sent!");
sendBroadcast(i);
//Log.d("COUNTDOWN", "FINISH!");
stopSelf();
}
};
Count.start();
return START_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onDestroy() {
Count.cancel();
super.onDestroy();
}}
이것은 당신이 텍스트 뷰 업데이트 할 당신이 당신의 활동이 필요 필요한 코드 :
을startService(new Intent(context, CountDownTimerService.class));
registerReceiver(uiUpdated, new IntentFilter("COUNTDOWN_UPDATED"));
//Log.d("SERVICE", "STARTED!");
private BroadcastReceiver uiUpdated = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//This is the part where I get the timer value from the service and I update it every second, because I send the data from the service every second. The coundtdownTimer is a MenuItem
countdownTimer.setTitle(intent.getExtras().getString("countdown"));
}
};
희망이 도움이됩니다.
답장을 보내 주셔서 감사합니다. 매우 유용합니다. –
@ developer.android 문제 없습니다. 기꺼이 투표하거나 뭐든지 투표하십시오. 사랑을 공유하십시오 :) – Aksiom
@Aksiom. 네가 나 한테 대답 해 줄 수 있겠 니? 내가 화면에 컨트롤을 갖고 싶어? 여기 CountDownTimer와 OFF : http://stackoverflow.com/q/38613564/3671748 –