lync 2010 sdk 无法捕获收到的对话消息

Posted

技术标签:

【中文标题】lync 2010 sdk 无法捕获收到的对话消息【英文标题】:lync 2010 sdk can't catch received conversation message 【发布时间】:2014-02-16 09:50:49 【问题描述】:

我使用 lync 2010 sdk 并使用 lync wpf 应用程序进行开发。 我可以向群组或个人发送消息,但无法接收到收到的消息文本。

就像代码一样,我可以在添加新对话时捕捉到,但也无法读取消息文本。

有谁知道我该怎么做?

  private Conversation _conversation;
  LyncClient _LyncClient;

  void ConversationManager_ConversationAdded(object sender, Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs e)
    
        if (_conversation == null)
        
            _conversation = e.Conversation;
        
         string getmessage=_conversation.GetApplicationData(_AppId);
        _conversation.ParticipantAdded += _conversation_ParticipantAdded;
        if (_conversation.Modalities[ModalityTypes.InstantMessage].State != ModalityState.Notified)
        
            _RemoteContact = _LyncClient.ContactManager.GetContactByUri("sip:xxx @xxx.com.tr");
            _conversation.AddParticipant(_RemoteContact);
        
        e.Conversation.InitialContextReceived += Conversation_InitialContextReceived;
        e.Conversation.ContextDataReceived += Conversation_ContextDataReceived;
        e.Conversation.StateChanged += Conversation_StateChanged;
        ((InstantMessageModality)e.Conversation.Modalities[ModalityTypes.InstantMessage]).InstantMessageReceived += MainWindow_InstantMessageReceived;
    

【问题讨论】:

【参考方案1】:

您在上面使用的事件用于上下文数据,如果您想获取 IM 文本,这可能不是您想要的。您想要的事件是 InstantMessageReceived 事件。以下文章对其进行了描述(这是 Lync 2013 的文章,但也适用于 2010):

How to: Start a Lync IM conversation

您可以在此处看到该文章中某个部分的屏幕截图:

【讨论】:

以上是关于lync 2010 sdk 无法捕获收到的对话消息的主要内容,如果未能解决你的问题,请参考以下文章

现有对话上的 Lync 2010 SDK 共享应用程序

在 UI 抑制模式下向对话 Lync 2013 SDK 中的特定用户发送 IM 消息

Lync SDK - 为 Lync 制作插件 - 对话窗口扩展

通过客户端 SDK 使 Lync MeetNow 对话保持活跃

Lync NotInitializedException 在 Windows 8 上无法捕获

如何使用 powershell 从 lync 对话中获取消息?