간단한 알람 시계 앱을 만들고 있는데 현재 시간이 설정된 시간과 일치하는지 확인하고 다른 활동을 시작하는 서비스에 문제가 있습니다. 코드는 다음과 같습니다.
@Override
public int onStartCommand(Intent intent, int flags, int startID){
hourSet = intent.getIntExtra("hourSet", 0);
minuteSet = intent.getIntExtra("minuteSet", 0);
checkTime();
return START_STICKY;
}
private void checkTime(){
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
time.setToNow();
currentHour = time.hour;
currentMinute = time.minute;
if(currentHour == hourSet && currentMinute == minuteSet){
Intent i = new Intent(AlarmService.this, AlarmTime.class);
startActivity(i);
cancel();
}
}
}, 0, UPDATE_INTERVAL );
}
나는 서비스를 디버깅했으며 if
성명서 까지 모든 것이 정상 입니다. 현재 시간이 설정된 시간과 일치하면 앱이 충돌합니다. 그래서 이것을 고치는 방법?
사람들이 catLog를 포함하지 않는 이유는 무엇입니까?
문제는 서비스 작업에 대한 활동을 시작하려는 것입니다. 불가능하지만 다음과 같은 매직 코드를 추가하면i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity
전화 하기 전에 새 작업에서 시작되며 모든 것이 잘 작동합니다. :)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다