2016-08-05 13 views
0

現在、私のアプリケーションでLyncユーザーの連絡先の写真を表示しようとしています。うまく動作しますが、ユーザーが前にLyncクライアントで検索された場合に限ります。何らかのキャッシュが必要なようです。前にそれを探したり、連絡先リストの直接の連絡先としてユーザーを置かずに、何も返しません。任意のアイデアコードでルックアップを行う方法?今何をしているのですか?Lync 2013 SDK GetContactInformation Photo

Public Function GetLyncPicture(lyncMail As String) As Image 
    Dim myimage As Image = Nothing 

    Try 
     If lyncMail.Trim.Length > 0 Then 
      client = LyncClient.GetClient() 

      If client IsNot Nothing Then 
       Dim cManager As ContactManager = client.ContactManager 

       If cManager IsNot Nothing Then 
        Dim contact As Contact = cManager.GetContactByUri(lyncMail) 
        If contact IsNot Nothing Then 
         Dim ciList As New List(Of ContactInformationType)() 
         ciList.Add(ContactInformationType.Photo) 
         Dim dic As IDictionary(Of ContactInformationType, Object) = Nothing 
         dic = contact.GetContactInformation(ciList) 

         If dic IsNot Nothing Then 
          Dim photoStream As Stream = TryCast(dic(ContactInformationType.Photo), Stream) 

          If photoStream IsNot Nothing Then 
           myimage = Image.FromStream(photoStream) 
          End If 
         End If 
        End If 
       End If 
      End If 
     End If 
    Catch ex As Exception 
    End Try 

    GetLyncPicture = myimage 
End Function 

答えて

0

あなたが探しているものはContactSubscriptionです。 「情報」(写真など)を表示するすべての連絡先について、連絡先の購読に追加すると、持ちたい情報が利用可能または変更されたときにいつでも返信されます。マイクロソフトはhowtoに連絡先購読を使用しています。

"今"イメージを取得する方法はありません。写真が表示されるまでには時間がかかることがあります。だから、あなたが持っているものを表示し、コールバックを得るたびに更新するほうがよい。

関連する問題