我正在设计基于生日的Android应用。此应用程序检查当前系统日期,如果日期是出生日期,应用程序将启动音乐并允许其他活动。否则,该应用程序将给出错误消息,等待出生日期和退出。
以下是示例代码:
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可能有帮助,但我不确定如何],某事像一个后台任务。应该重复此任务,直到条件成立为止。
如果用户在出生日期之前打开应用程序,则会显示错误提示并关闭应用程序。
答案 0 :(得分:-1)
您应该使用AlarmManager setRepeating函数来实现这一点。请查看此链接了解详情 - https://developer.android.com/training/scheduling/alarms.html
至于运行代码的要求,即使它没有打开,你也应该使用BroadcastReceiver。您需要将BroadcastReceiver作为PendingIntent传递给AlarmManager。