在 Receiver 应用中发送和接收 JSON 消息时,发送者 ID 来自哪里?

Posted

技术标签:

【中文标题】在 Receiver 应用中发送和接收 JSON 消息时,发送者 ID 来自哪里?【英文标题】:When sending & receiving JSON messages in the Receiver app, where does the sender ID come from? 【发布时间】:2014-08-26 02:45:13 【问题描述】:

在 GitHub 上的井字游戏接收器示例中,onMessage(event) 函数使用 event.senderId。

onMessage: function(event) 
      var message = event.data;
      var senderId = event.senderId;
      ...

这个价值是在哪里创造的?当连接多个发件人应用时,senderIds 有何不同?

另外,当我向接收方应用程序(通过 chrome 或 android)发送消息时,我是否需要手动附加和分配 senderId,还是 API 会自动完成?

我很困惑,因为我没有看到在任何地方分配的 senderId 变量,甚至没有在发件人应用程序中使用。有人可以澄清一下它的用途和重要性吗?

【问题讨论】:

【参考方案1】:

SDK/Framework 会创建一个唯一的发件人 id,您不需要创建它。

【讨论】:

SDK 何时创建唯一的发件人 ID?它有什么独特之处?应用、渠道还是其他? 这些是框架的内部结构,你有什么理由需要知道这些吗? 我正在制作一个 android cast 应用程序,它需要多个活动,每个活动都使用不同的自定义频道。它还具有多个发件人应用程序。我只想确保发件人 ID 对于单个设备/发件人应用程序是唯一的,而不是其他任何东西。 每个连接的发送者实例在每个会话中都有一个唯一的发送者 ID。 我意识到我可以通过记录发件人 ID 通过一些试验和错误来解决这个问题,但我目前没有自己的 Chromecast 可供测试。基本上,我需要一种方法来保持每个发送设备的唯一性。这意味着我需要根据发件人 ID 的分配方式更改我的代码。如果它是基于...分配的 - 通道命名空间,我需要保持应用程序中的每个命名空间相同,但在不同的发送者应用程序之间是唯一的。 - 会话 id,我需要为不同的会话分配相同的发件人 id,但对于不同的发件人应用程序是唯一的。有意义吗?

以上是关于在 Receiver 应用中发送和接收 JSON 消息时,发送者 ID 来自哪里?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取在 chromecast 设备上崩溃的 Receiver 应用程序的崩溃日志?

Broadcast Receiver基本使用

sms broadcast receiver 是啥意思

Android面试收集录2 Broadcast Receiver详解

用Broadcast Receiver刷新数据

安卓Broadcast Receiver(广播消息)应用实例