【问题标题】:Start alarm in broadcastreceiver and turn off in service在广播接收器中启动警报并在服务中关闭
【发布时间】:2011-12-09 22:04:15
【问题描述】:

我想我有一个设计问题,但我会问你们这个问题。 我的应用程序在 xbroadcastreceiver 中接收到广播,我检查了一些条件,如果为真,我使用带有 PendingIntent 的警报管理器启动一个服务,比如 zservice。现在在zservice中,每次被alarmmanager触发时,我都会检查其他一些条件,并根据需要取消警报的特定条件,我知道alarmManager.cancel(pendingIntent); 将取消警报,但我的问题是如何访问在 xbroadcastreciever 中的 pendingIntent。

我已尝试将 pendingIntent 发送到服务,但到目前为止我还没有成功,所以当我需要时,我可以关闭警报。 希望这个逻辑有意义。

【问题讨论】:

    标签: android service alarmmanager android-pendingintent


    【解决方案1】:

    我知道 alarmManager.cancel(pendingIntent);将取消警报,但我的问题是如何访问 pendingIntent,就像它在 xbroadcastreciever 中一样。

    使用与原始路由信息(组件、操作、类别、MIME 类型)相同的路由信息​​创建一个Intent。从此Intent 创建与以前相同类型的PendingIntent(例如getService())。将 PendingIntentcancel() 调用一起使用。

    【讨论】:

    • 太棒了 :-) 有趣的是,我认为解决方案可能不是这样。谢谢...
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    相关资源
    最近更新 更多