【问题标题】:Disconnect sender unauthorized断开未经授权的发件人
【发布时间】:2016-09-11 01:13:56
【问题描述】:

我正在为 android 创建一个应用程序,以支持使用 CastCompanionLibrary 库进行交互的 google cast 视频。 关于视频 VideoCastManager 的使用和用于部分交换消息(数据)的 DataManagerCast 使用。 我想实现一个可以连接到特定会话的控件。我的想法是,第一个在 chromecast 上连接的发件人是“会话的所有者”,其他发件人需要请求他的连接权限。我创建了一个命名空间,用于在连接过程发生时接收者和发送者会话所有者之间的通信。 如果发件人未经授权,则应断开连接。 我查看了接收器参考,寻找接收器断开特定发送器的方法,但它仍然失败。有谁知道我的想法是否可以实现?

【问题讨论】:

    标签: chromecast google-cast


    【解决方案1】:

    首先,您为什么使用 DataCastManager? VideoCastManager 可以添加一个数据通道,这就是您进行通信所需的全部内容,因此仅使用 VideoCastManager。

    就记忆而言,接收方无法断开单个发送方,因此您的方法的替代方案是:

    • 每个发送方在连接到接收方后,都会向接收方发送一条消息进行注册。
    • 接收方查看已连接设备的数量,如果是第一个,则认为所有者向发送方发回一条消息,告知它是所有者。如果它不是第一个,它会向该发件人发回一条消息,通知它需要从所有者那里获得授权(因此新的发件人知道它应该等待授权)。同时,它会向所有者发送一条消息,请求允许第二个进入。
    • 所有者将向接收者发回一条消息,以允许或禁止新的发送者连接。然后接收者向新的发送者发送一条消息,让其知道其请求是否被批准。
    • 如果授予权限,那么您在发件人中的代码将允许用户在应用程序中前进。如果未授予,那么您的发件人应用程序中的逻辑可以阻止用户继续前进,或者可以断开发件人的连接,或者可以限制用户可以执行的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-21
      • 2015-08-30
      • 2012-07-22
      • 2018-06-15
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      相关资源
      最近更新 更多