断开发送者广播设备后,如何让android tv应用程序继续运行?

断开发送者广播设备后,如何让android tv应用程序继续运行?,android,google-cast,android-tv,google-cast-sdk,Android,Google Cast,Android Tv,Google Cast Sdk,旁注:这个问题在性质上类似于,例如,尽管我的代码中没有提到stop或stopplication。此外,尽管存在类似的问题,但它们通常提供死链接,通常不专门针对android电视接收器应用程序 情景 安卓设备A开始向安卓电视播放。这将导致android TV应用程序作为接收器应用程序启动(请参阅) Android设备B连接到同一台Android电视,加入现有会话 B断开(铸造按钮->停止铸造) 我想发生什么 仅应为B调用已连接的接收器端(tv)onSenderDisconnected Andr

旁注:这个问题在性质上类似于,例如,尽管我的代码中没有提到
stop
stopplication
。此外,尽管存在类似的问题,但它们通常提供死链接,通常不专门针对android电视接收器应用程序


情景

  • 安卓设备A开始向安卓电视播放。这将导致android TV应用程序作为接收器应用程序启动(请参阅)
  • Android设备B连接到同一台Android电视,加入现有会话
  • B断开(铸造按钮->停止铸造)
  • 我想发生什么

    • 仅应为B调用已连接的接收器端(tv)
      onSenderDisconnected
    • Android电视应用程序应保持运行
    到底发生了什么

    • A和B都调用已连接的接收器端(tv)
      onsenderisconnected
    • Android电视应用程序已关闭
    问题:

    • 为什么当一个发送方断开连接时,所有发送方应用程序都断开了连接,android TV应用程序也关闭了
    • 在发件人断开连接后,如何让android TV应用程序继续运行

    我刚刚在我的应用程序中实现了此功能,您是否尝试过这样做

    应用程序中
    类:

    CastReceiverContext.getInstance().registerEventCallback(object: CastReceiverContext.EventCallback() {
    
            override fun onSenderConnected(info: SenderInfo) {
                setupPlayerData()
            }
    
            override fun onSenderDisconnected(eventInfo: SenderDisconnectedEventInfo) {
    
                val intent = Intent(this@FooApplication, CastLauncherActivity::class.java).apply {
                    flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
                }
                startActivity(intent)
            }
        })
    

    基本上,我在我的应用程序中所做的就是打开一个带有演员符号的启动屏幕。我刚刚检查过,您可以从
    onSenderConnected()
    onSenderDisconnected

    打开任何
    活动,然后详细说明您正在注册的侦听器?同样关于
    onSender…
    方法,我只能在这里找到相关参考:您是在编写HTML5接收器应用程序还是实际的android应用程序?@JensV我正在使用
    castrecivercontext.registerEventCallback
    注册
    castrecivercontext.EventCallback
    。这是100%的安卓系统,不涉及html5。不,我没有尝试过,但这不就是在发送者断开连接时启动一个新的活动吗?即,我希望我的活动保持运行。例如,一个视频播放器应用程序,由于播放过程中的不活动而导致连接设备断开,我不希望视频被打断。是的,事实上,当退出当前屏幕并打开新的活动时,它会闪烁。如果将其与singleTask或singleInstance结合使用会怎么样?这有意义吗??老实说,由于框架的基础,您正试图做一些Google Cast完全无法做到的事情。如果您单击“停止播放”,menas将停止一切,发送方和接收方之间的所有连接。让我试着做些其他的事情,但肯定会是一个解决办法,一个糟糕的做法。