代码之家  ›  专栏  ›  技术社区  ›  LukeFilewalker

Android O注册闹钟意图

  •  0
  • LukeFilewalker  · 技术社区  · 8 年前

    我开发了一个应用程序,当警报响起时触发一个动作。为了实现这一行为,我注册了一个BroadcastReceiver,其中包含不同制造商警报的各种意图过滤器定义。

    由于Android-O的限制,我无法再接收来自不同警报的意图。

    我试图通过代码注册意图:

    寄存器广播

    只要应用程序正在运行,它就可以捕获意图。当应用程序被终止时,BroadcastReceiver不再接收任何意图。

    在Android-O中,当警报响起时,是否有任何可能的解决方案来触发操作?此外,使用BroadcasReceiver的不同解决方案也将受到欢迎。

    我查看了JobIntentService,显式和隐式广播,但我想我不知道如何在Android-O中实现可能的解决方案。

    1 回复  |  直到 8 年前
        1
  •  1
  •   CommonsWare    8 年前

    我开发了一个应用程序,当警报响起时触发一个动作。

    一般来说,这是不可能的。

    为了实现这一行为,我注册了一个BroadcastReceiver,其中包含不同制造商警报的各种意图过滤器定义。

    这对绝大多数闹钟应用程序都不起作用。闹钟应用程序不需要告诉其他应用程序闹钟已经响了。

    在Android-O中,当警报响起时,是否有任何可能的解决方案来触发操作?

    在任何版本的Android上都没有解决方案。再次强调:闹钟应用程序不需要告诉其他应用程序闹钟已经响了。

    关于如何让有限的现有实现正常工作。。。您已经选择了一个选项:运行服务。考虑到其他Android 8.0以上的限制,这必须是一个前台服务。而且,正如您所注意到的,这只在服务运行时起作用。