Java 每当应用程序打开时,重新启动AlarmManager
我正在呼叫后台服务的报警管理器。它在特定时间工作,就像我将其设置为11:44触发一样,它将触发,但问题是每当我打开应用程序时,报警管理器再次开始执行该功能Java 每当应用程序打开时,重新启动AlarmManager,java,android,alarmmanager,Java,Android,Alarmmanager,我正在呼叫后台服务的报警管理器。它在特定时间工作,就像我将其设置为11:44触发一样,它将触发,但问题是每当我打开应用程序时,报警管理器再次开始执行该功能 public class BackgroundService extends Service { private static final String TAG = "BackgroundService"; public BackgroundService() { } @Override public IBinder onBind(Int
public class BackgroundService extends Service {
private static final String TAG = "BackgroundService";
public BackgroundService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// siteInAutomate();
Log.e(TAG, "Background Activity");
AlarmManager alarmMgr1 =
(AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent1 = new Intent(this,schedule1.class);
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this,
0,intent1, 0);
// Intent intent0 = new Intent(this, OldEntryRemover.class);
Log.e(TAG, "SiteOutCalled");
Calendar calendar1 = Calendar.getInstance();
calendar1.setTimeInMillis(System.currentTimeMillis());
calendar1.set(Calendar.HOUR_OF_DAY,10 );
calendar1.set(Calendar.MINUTE, 52);
calendar1.set(Calendar.SECOND, 0);
//set that timer as a RTC Wakeup to alarm manager object
alarmMgr1.set(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(),
pendingIntent1);
return super.onStartCommand(intent, flags, startId);
}
在这里,您已将闹钟设置为10:52。因此,如果在此之后打开应用程序,它会立即重新创建并触发AlarmManager 如果规定的触发时间已过,则会立即触发报警 您可以查看当前时间。如果超过了计划时间,则在
日历
(此处为日历1)的实例中,添加一天
calendar1.add(Calendar.DATE,1)