我正在制作一个简单的闹钟应用程序,现在该服务出现问题,该服务检查当前时间是否与设置的时间匹配并开始另一项活动。这是代码:
@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] 删除。
我来说两句