通过 Android 通知与 Chromecast 交互的正确方法是什么?



我正在尝试找出将Chromecast按钮(暂停,播放等)添加到Android通知的正确方法。 我已经设置了一个自定义通知,将 PendingIntents 发送到 ChromecastService。 该服务正在尝试与我构建的一个名为ChromecastAdapter的类进行交互。 ChromecastAdapter 实现了 MediaRouteAdapter,并包含与强制转换相关的所有侦听器和状态。 但是,一旦我退出应用程序,所有这些状态就会消失。 因此,一旦我的应用消失,我的ChromecastService最终无法访问Chromecast。

在我看来,让它工作的唯一方法是将所有Chromecast状态重构到实现MediaRouteAdapter的服务中。 我真的不想这样做,因为我对现在的情况很满意。

由于 Google 需要这些交互式通知,因此我觉得必须有一种标准的方式来与通知中的投射进行交互。 我在这里走在正确的轨道上吗? 我是否必须将所有 Chromecast 交互置于服务后面?

行为应该是什么取决于应用的类型和应用的要求。如果您的应用程序"消失"(从某种意义上说,应用程序实例已经消失),那么您应该问自己的问题是,您是否希望保留通知机制以保留;有些应用程序在被杀死时,接收器也会关闭,用户会被送回Chromecast设备上的主屏幕,在这种情况下,没有理由保留通知。

另一方面,有些应用程序根据他们的要求,即使移动应用程序消失了,您也会希望让投射设备继续它正在做的事情(例如播放视频)。在这些情况下,您可能希望有一个通知机制来"启动"应用。为此,您需要在服务中维护一定数量的信息/状态/对象,足以再次建立连接并"加入"正在运行的应用程序。此外,您的"服务"需要了解接收器上应用程序的状态,以便如果该应用程序被终止(例如,其他人开始将不同的应用程序投射到设备上),它可以收到通知并退出。

相关内容

最新更新