次の方法で共有


方法: オンライン プレゼンスの監視

現在のユーザーと、そのユーザーのメンバー全員のオンライン プレゼンスを監視することができます。これは、あるユーザーのオンライン状態の追跡だけでなく、表示アイコンや表示メッセージのテキストなどの他のプロパティの追跡にも役立ちます。

オンライン プレゼンスを監視するには、ユーザーの Presence.PropertyChanged イベントへのサブスクライブが必要なほか、このイベントの発生時に必要なタスク (ユーザーの現在の状態を示すテキストの変更など) を実行するイベント ハンドラ関数の定義も必要です。監視するそれぞれのユーザーの Presence.PropertyChanged に個別にサブスクライブする必要があります。

手順

Presence.PropertyChanged イベントにサブスクライブするためのコードを追加するには

  1. JavaScript ファイルで add_propertyChanged アクセサを呼び出し、イベント ハンドラ関数 (ここでは user_Presence_PropertyChanged) のデリゲートを渡します。

    HelloWorld.App._user.get_presence().add_propertyChanged(Delegate.create(null, HelloWorld.App.user_Presence_PropertyChanged));
    
  2. イベント ハンドラ関数を作成します。

    HelloWorld.App.user_Presence_PropertyChanged = function (sender, e) {
    var propName = e.get_propertyName();
    alert(propName + " が変更されました。");
    }
    

以下の例では、ユーザーの メンバー リストに追加済みの各メンバーを列挙子によって反復処理して、各メンバーの Presence.PropertyChanged イベントにサブスクライブしています。

コード

_addressList = new Array(_user.get_contacts().get_count());
var enum1 = _user.get_contacts().getEnumerator();
while (enum1.moveNext()) {
   var c = enum1.get_current();
   var address = c.get_currentAddress();
   address.get_presence().add_propertyChanged(Delegate.create(null, presence_PropertyChanged));
}

関連項目

概念

Messenger Library タスク