Android ChromeCast在应用程序ID和发送方接收器之间切换

Android ChromeCast在应用程序ID和发送方接收器之间切换,android,chromecast,google-cast,Android,Chromecast,Google Cast,我正在构建一个Android Sender ChromeCast应用程序,它将测试几个不同的接收器。我制作了一个具有appId/接收器选择器活动的应用程序,选择后,它将启动一个连接到ChromeCast的新活动 我正在使用Cast Companion库版本2.7.3 在应用程序的初始启动时,它完美地连接到第一个appId/接收器,但不幸的是,能够从单个活动切换appId已被证明是困难的 似乎无论我采取什么行动,第一个appId/接收器都会保持不变,即使在断开连接、返回主屏幕并重新启动应用程序之后

我正在构建一个Android Sender ChromeCast应用程序,它将测试几个不同的接收器。我制作了一个具有appId/接收器选择器活动的应用程序,选择后,它将启动一个连接到ChromeCast的新活动

我正在使用Cast Companion库版本2.7.3

在应用程序的初始启动时,它完美地连接到第一个appId/接收器,但不幸的是,能够从单个活动切换appId已被证明是困难的

似乎无论我采取什么行动,第一个appId/接收器都会保持不变,即使在断开连接、返回主屏幕并重新启动应用程序之后也是如此

我试过:

  • 启动一个初始活动,该活动具有一个应用Id选择器,用于启动一个新的ChromeCast sender活动,当按下back时,它会将任何与强制转换相关的对象的所有实例设置为null

  • 修改Cast Companion库以允许我的UI应用程序访问
    stopReconnectionService()
    stopNotificationService()

  • 结合前面的步骤,实现找到的
    teardown()
    方法

  • 再次结合前面的步骤,调用
    stopplication
    并设置
    setStopOnDisconnect(true)

  • 我只能使用
    android.os.Process.killProcess(android.os.Process.myPid())
    让它工作,我只是觉得一定有更好的方法


    如有任何建议,我们将不胜感激。谢谢大家!

    你没有解释你遇到了什么问题。至于你想做什么,你想让一个应用程序用appId1启动接收器,然后停止它,然后用appId2启动接收器,然后停止它,依此类推,并且所有应用程序都在同一个播放设备上,这是正确的。我想有一个单一的应用程序,启动一个与appId1接收器,停止它,然后切换到一个与appId2接收器,都在同一ChromeCast设备。如果涉及重新启动应用程序,则可以。我将根据您的建议更新问题,谢谢。我仍然看不出问题在哪里。Cast.CastApi.launchApplication()接受一个appId参数,因此每次离开前一个应用程序(leaveApplication())时,都可以使用新的appId调用launchApplication(),这将启动新的接收方应用程序。如果您正在执行此操作,但它不起作用,那么我们需要查看您的代码。好的,我将尝试此操作,谢谢