2013-10-30 52 views
4

我试图找出将Chromecast按钮(暂停,播放等)添加到Android通知的正确方法。我已经设置了将PendingIntents发送到ChromecastService的自定义通知。该服务正在尝试与我创建的名为ChromecastAdapter的类进行交互。 ChromecastAdapter实现了MediaRouteAdapter,并包含所有伴随投射的侦听器和状态。但是,一旦我退出应用程序,所有这些状态都会消失。因此,一旦我的应用不存在,我的ChromecastService就无法访问Chromecast。从Android通知与Chromecast交互的正确方式是什么?

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

由于Google需要这些交互式通知,所以我觉得必须有一种标准的方式与来自通知的演员进行交互。我在正确的轨道上吗?我是否必须将所有Chromecast互动置于服务之后?

+0

我的方式和你的一样。我有一个单例实例实现MediaRouteAdapter并包含所有侦听器和状态。但有时我无法通过电视控制视频,当通过通知退出我的应用程序或控制时。我不明白阿里纳达夫的解决方案。你能解决我如何实现它吗? –

回答

1

行为应该取决于应用程序的类型和应用程序的要求。如果你的应用程序“不见了”(从应用程序实例消失的意义上说),那么你应该问自己的问题是你是否希望保持通知机制;有些应用程序在被杀的时候,接收器也被关闭,用户被发回到Chromecast设备的主屏幕,在这种情况下,没有理由保持通知。另一方面,有些应用基于他们的需求,即使移动应用不在了,您也希望让投射设备继续它在做的事情(例如播放视频)。在这些情况下,您可能希望有一个通知机制来“启动”应用程序。为了实现这一点,您需要在服务中维护一定数量的信息/状态/对象,足以能够再次建立连接并“加入”正在运行的应用程序。此外,您的“服务”需要了解应用程序在接收器上的状态,因此如果该应用程序被终止(例如,其他人开始将其他应用程序投射到该设备上),则可以通知并退出该应用程序。

相关问题