【问题标题】:How can I notify my activity that the alarm manager has launched its pending intent?如何通知我的活动警报管理器已启动其挂起的意图?
【发布时间】:2016-07-21 19:12:01
【问题描述】:

我正在我的应用程序中实现一项功能,允许用户在指定时间设置提醒。

在我的提醒活动中,我有一个 TimePicker、两个按钮和一个文本视图。 一个按钮是设置提醒时间选择器上显示的时间,另一个是取消已经设置的提醒。当用户设置提醒时,设置的时间会显示在文本视图中,而当用户取消提醒时,文本视图会被清除。

我正在使用 AlarmManager 和 PendingIntent 在用户指定的时间触发我的 NotificationService,但我无法找到一种方法来向我的提醒活动指示通知已显示,然后从文本视图中删除提醒时间。

简而言之...当我的通知显示时,我希望我的文本视图为空。

【问题讨论】:

  • 我意识到它根本没有效率,但我可以在 NotificationService 中向 SharedPreference 写入一个“通知”布尔值,然后在我的提醒活动中读取 getSharedPreference 值吗?

标签: android android-service alarmmanager android-pendingintent


【解决方案1】:

您可以使用 BroadcastReceiver 接收警报,或者如果您只想在 NotificationService 中接收警报,那么您可以从 NotificationService 广播并通过在您的提醒活动中注册的 BroadcastReceiver 收听。

查看 BroadcastReceiver 教程:

使用警报管理器 http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html

有活动 https://guides.codepath.com/android/Starting-Background-Services#communicating-from-a-service-to-an-application

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多