在Android中,如何在特定时间停止使用Alarm Manager服务?

在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

在我的应用程序中,我想使用Alarm Manager在特定时间停止服务。但是Alarm Manager cancel()方法不会占用任何时间。那我怎么才能阻止它呢

我编写了如下代码:

    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用于停止服务的活动。

有人知道答案吗??如何阻止这种悬而未决的意图??请帮忙。。。。