从Android通知中与Chromecast进行互动的正确方法是什么?

时间:2013-10-30 00:02:11

标签: android google-cast chromecast

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

在我看来,实现此功能的唯一方法是将所有Chromecast状态重构为实现MediaRouteAdapter的服务。我真的不想这样做,因为我对现在的事情非常满意。

由于Google需要这些互动式通知,因此我觉得必须采用标准方式与通知中的演员互动。我在这里走在正确的轨道上吗?我是否必须将所有Chromecast互动置于服务之后?

1 个答案:

答案 0 :(得分:1)

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

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