android - 如何创建持久警报以通知用户事件?

标签 android alarm

我目前有一个 AlarmManagerBroadcastReceiver 实现作为我的警报。但是,这有一个主要缺陷;强制关闭应用程序时它不会熄灭。我测试了 ICS 日历应用程序会发生什么,即使我强行关闭它,它也会消失。我知道有些人会说“如果用户以这种方式关闭应用程序,他们不希望它关闭。”任务 killer 呢?这就是我正在寻找的情况。很明显,我的方法无法做到这一点,而且我看了又看,但大多数(如果不是全部)示例都与我实现它的方式相似。有什么想法可以实现吗?

编辑:看来我所做的所有研究表明,如果用户不安装两个单独的应用程序,我想做的事情是不可能的,这并不理想。谷歌有可能只是以这种方式制作了日历应用程序(因为他们确实编写了源代码),因为我测试了市场上的顶级日历应用程序,当用户强制关闭应用程序时,它们都没有关闭。所以这引出了一个问题,简单地说,这甚至可以在单个应用程序中完成吗?由于谷歌试图阻止开发人员不允许用户控制随机运行的广播或服务,因此这看起来很渺茫,这是可以理解的。希望这可以帮助其他人快速意识到实际上并没有真正的方法可以做到这一点。您所能做的就是警告用户,以这种方式关闭您的应用程序,他们不会收到警报;说的够多了。

最佳答案

我不会在你的闹钟上使用广播接收器

广播接收器一般提供两个功能

1) 收听系统广播

2) 允许您自己以外的应用向您的应用发出请求。

警报管理器设置新警报: set(int 类型, long triggerAtMillis, PendingIntent 操作) 安排闹钟。 (来自Android Documentation)

放置在那里的 Pending Intent 是将在 Alarm 启动时触发的 Intent。您可以通过将服务放置在 Intent 中来让此 Intent 开始服务。 例如:

Intent i = new Intent(context, MyService.class)

其中 MyService 是一个扩展 Service 的类。 (你可以很容易地做一个 Activity ,但是让 Activity 突然冒出来是糟糕的设计。

A Service就像一个没有 UI 的 Activity。基本上,您可以让它执行一些后台功能,并可能向用户发布发生某些事情的通知。

关于android - 如何创建持久警报以通知用户事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534486/

相关文章:

python socket recv() 和信号

android - 如何查看闹钟是否设置

ios - 打开和关闭闹钟 ios

javascript - 当应用程序被禁用时,React Native 在特定时间显示消息

android - 如何设置闹钟 与Android中的闹钟应用程序一样?

android - 如何将 RxTextView switchMap 与 Flowable 数据一起使用?

java - Helloworld 不能在模拟器上运行

Android Room Kotlin 内部连接

javascript - 从 Firebase Android 加载食物描述时字符串 null

android - 包含布局的 Root View 上的 NullPointerException