【问题标题】:Start and stop a service using BroadcastReceivers in Android在 Android 中使用 BroadcastReceivers 启动和停止服务
【发布时间】:2015-11-16 02:55:39
【问题描述】:

我的应用程序中有一项服务,我想在指定的时间段内运行它。我正在使用 AlarmManager 和 BroadcastReceiver 来启动我的服务,比如说 startTime。现在我想在 endTime 停止服务。请帮助我如何实现这一目标。从以下一些帖子中,我了解到这可以使用 IntentFilters 来完成,但在这种情况下如何使用它们呢?另外,是否可以在 BroadcastReceiver 中使用静态变量来跟踪对 startService/stopService 的调用次数?

【问题讨论】:

    标签: android service broadcastreceiver alarmmanager


    【解决方案1】:

    查看此链接

    http://code4reference.com/2012/07/tutorial-on-android-alarmmanager/

    终于来了

    这是整个例子enter link description here

    AlarmManager 上调用 cancel(),并使用与 setRepeating() 中使用的等效的 PendingIntent >

    例如

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

    【讨论】:

    • 本教程实际上是在驱使我们取消使用 PendingIntent 和 AlarmManager 设置的警报。我需要停止由触发警报创建的服务。我相信他们两个都不一样。我错过了什么吗?
    • 是的,很抱歉。但我更新了我的答案,它可能会有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    相关资源
    最近更新 更多