在Android中使用BroadcastReceivers启动和停止服务

在Android中使用BroadcastReceivers启动和停止服务,android,service,broadcastreceiver,alarmmanager,Android,Service,Broadcastreceiver,Alarmmanager,我的应用程序中有一个服务,我希望在指定的时间段内运行该服务。我正在使用AlarmManager和BroadcastReceiver启动我的服务,比如说在startTime。现在我想在结束时停止服务。请帮助我如何做到这一点。从下面的一些帖子中,我了解到这可以通过IntentFilter实现,但是在这种情况下如何使用它们呢?另外,可以在BroadcastReceiver中使用静态变量来跟踪对startService/stopService的调用数吗?检查此链接 最后在这里 这就是整个例子 调用Al

我的应用程序中有一个服务,我希望在指定的时间段内运行该服务。我正在使用AlarmManager和BroadcastReceiver启动我的服务,比如说在startTime。现在我想在结束时停止服务。请帮助我如何做到这一点。从下面的一些帖子中,我了解到这可以通过IntentFilter实现,但是在这种情况下如何使用它们呢?另外,可以在BroadcastReceiver中使用静态变量来跟踪对startService/stopService的调用数吗?

检查此链接

最后在这里

这就是整个例子

调用AlarmManager上的cancel(),使用与您使用的setRepeating()相同的PendingEvent

榜样

Intent intent = new Intent(this, AlarmReceive.class);
PendingIntent sender = PendingIntent.getBroadcast(this,
               0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

alarmManager.cancel(sender);

本教程实际上促使我们取消使用PendingEvent和AlarmManager设置的报警。我需要停止由触发警报创建的服务。我相信他们两个都不一样。我遗漏了什么吗?是的,很抱歉。但我会更新我的答案,这可能会有所帮助