在Android中,如何在特定时间停止使用Alarm Manager服务?
在我的应用程序中,我想使用Alarm Manager在特定时间停止服务。但是Alarm Manager cancel()方法不会占用任何时间。那我怎么才能阻止它呢 我编写了如下代码:在Android中,如何在特定时间停止使用Alarm Manager服务?,android,Android,在我的应用程序中,我想使用Alarm Manager在特定时间停止服务。但是Alarm Manager cancel()方法不会占用任何时间。那我怎么才能阻止它呢 我编写了如下代码: Intent intent = new Intent(DashboardScreen.this, ServiceClass.class); Log.d("Testing", "Intent created"); PendingIntent pi = PendingIntent.getServ
Intent intent = new Intent(DashboardScreen.this, ServiceClass.class);
Log.d("Testing", "Intent created");
PendingIntent pi = PendingIntent.getService(DashboardScreen.this, req, intent, 0);
AlarmManager alarm_manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm_manager.setRepeating(AlarmManager.RTC_WAKEUP, cur_cal.getTimeInMillis(),30*1000, pi);
Log.d("Testing", "Intent created");
Intent intent1 = new Intent(this, ServiceClass.class);
PendingIntent sender = PendingIntent.getService(this, req, intent1, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(sender);
在我看来,您不能直接停止使用alarmmanager的服务。alarmmanager中的cancel()函数仅用于删除定时重复报警 我建议您在需要时使用另一个alarm manager调用停止服务的活动: alarmmanager.set(alarmmanager.RTC_唤醒,System.currentTimeMillis()+时间周期,PendingEvent) 如果您想在600秒后停止服务,可以将TIME_PERIOD设置为600*1000。
PendingEvent用于停止服务的活动。有人知道答案吗??如何阻止这种悬而未决的意图??请帮忙。。。。