4

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

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

由于谷歌需要这些交互式通知,我觉得必须有一种标准的方式与通知中的演员进行交互。我在正确的轨道上吗?我是否必须将我的所有 Chromecast 交互都放在服务后面?

4

1 回答 1

1

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

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

于 2013-10-31T03:41:05.180 回答