我正在努力将Google Chromecast
集成到我的Android
个应用中。我在自定义布局中使用MediaRouteButton
,PlayerActivity
扩展FragmentActivity
。
情景1:
我开始PlayerActivity
,显示chromecast
图标,检测到chromecast
设备,我选择它并在电视上投放视频。
然后我从应用程序断开设备,返回上一次的backpress活动。我再次启动PlayerActivity
并再次观察到相同的事件序列。 这很好。
然而
情景2:
我启动PlayerActivity
,检测到chromecast设备,我选择它并投射视频。这次我不会断开设备与应用的关系,回到之前的背压活动。我再次启动PlayerActivity
,但这次没有显示chromecast图标。
这种行为可能是什么原因?任何帮助表示赞赏。
更新
我提到了CastButton示例,当我检查MediaRouterButtonActivity.java
时,我发现了同样的行为,这也扩展了FragmentActivity。但是当我尝试使用扩展MediaRouterActionBarButtonActivity.java
的{{1}}的相同序列时,它运行正常。
更新:
我正在使用以下
ActionBarActivity
答案 0 :(得分:2)
添加/删除新路线时会触发使投射按钮可见或不可见的逻辑。让我们说在活动A中发现一条路线。然后你去活动B;在两者之间,没有添加或删除新路由。因此,在活动B中不会触发上述逻辑,因此转换按钮仍然不可见。更好的方法是在应用程序实例中使用此逻辑并跟踪当前状态,并让每个活动询问应用程序实例是否应该在启动时使投射按钮可见或不可见。他们也应该听取改变。