断开发件人未经授权的

时间:2016-05-15 01:52:51

标签: chromecast google-cast

我正在使用CastCompanionLibrary库为Android创建一个支持谷歌演员视频的应用程序。 关于视频VideoCastManager使用和部分交换消息(数据)的DataManagerCast使用。 我想实现一个可以连接到特定会话的控件。我的想法是,第一个连接chromecast的发件人是会话的所有者"和其他发件人需要请求允许他连接。我为接收者和发送者会话所有者之间的通信创建了一个命名空间,用于发生连接过程。 如果发件人未获得授权,则应断开连接。 我看了一下接收器参考搜索接收器断开特定sende的方法,但它仍然失败。有谁知道是否有可能实现我的想法?

1 个答案:

答案 0 :(得分:1)

首先,您为什么使用DataCastManager? VideoCastManager可以添加数据通道,这是您需要进行通信的所有内容,因此只能使用VideoCastManager。

就内存服务而言,接收方无法断开各个发件人的连接,因此您的方法可以替代:

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