我想安排一个每分钟运行的后台任务,并检查一个条件,直到条件在Android中为真
我正在设计一款基于生日的Android应用程序。此应用程序检查当前系统日期,如果日期是出生日期,则应用程序将启动音乐并允许其他活动。否则,应用程序将给出一条错误消息,等待出生日期并退出 下面是示例代码:我想安排一个每分钟运行的后台任务,并检查一个条件,直到条件在Android中为真,android,scheduled-tasks,alarmmanager,Android,Scheduled Tasks,Alarmmanager,我正在设计一款基于生日的Android应用程序。此应用程序检查当前系统日期,如果日期是出生日期,则应用程序将启动音乐并允许其他活动。否则,应用程序将给出一条错误消息,等待出生日期并退出 下面是示例代码: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dateobj = new Date(); Date date1 = sdf.parse(sdf.format(dateobj));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateobj = new Date();
Date date1 = sdf.parse(sdf.format(dateobj));
Date date2 = sdf.parse("2016-05-30");
if (date1.compareTo(date2) >= 0) {
// Start a music
//Other task
}
else
{
// You need to wait message
}
现在,我希望在每60秒(1分钟)后自动检查此条件,即使应用程序未打开[可能alarmManager会有帮助,但我不确定如何检查],类似于后台任务。应重复此任务,直到条件为真
如果用户在出生日期之前打开应用程序,将显示错误警报并关闭应用程序。您应该使用AlarmManager设置重复功能来实现此目的。查看此链接以了解详细信息-
至于在代码未打开时运行代码的要求,您应该使用BroadcastReceiver。您需要将广播接收器作为挂起内容传递给AlarmManager 感谢您花时间回答这个问题。在这里提问之前,我浏览了给定的链接和多个其他网站,但是我没能像预期的那样工作。