MessageTransmittedHandler Delegate

公開されたメッセージが送信されたときに発生するイベントを扱うメソッドについて説明します。

構文


var messageTransmittedHandler = function(sender, messageId) {
 /* コード */
}

属性

[Version(0x06020000)]

パラメーター

sender

型: ProximityDevice

メッセージを発行した近接通信デバイス。

messageId

型: Number [JavaScript] | System.Int64 [.NET] | int64 [C++]

メッセージの発行 ID。

解説

メッセージの発行は、StopPublishingMessage メソッドが呼び出されるか、発行しているコンピューター上で ProximityDevice が解放されるまで継続します。メッセージは、同じメッセージ型にサブスクライブしているすべてのアプリケーションに配信されます。

PublishMessage メソッドを使用する場合に唯一サポートされているメッセージ型は、"Windows" で始まる型です。「WindowsMime」や「NDEF:WriteTag」などの別のメッセージ型を使用してメッセージを発行するには、PublishBinaryMessage メソッドを使用する必要があります。

MessageTransmittedHandler デリゲートは、アプリケーションがそのデバイスのメッセージをサブスクライブしたかどうかにかかわらず、メッセージがデバイスに正常に送信されるたびに呼び出されます。


function id(elementId) {
    return document.getElementById(elementId);
}

var proximityDevice;
var publishedMessageId = -1;
var subscribedMessageId = -1;

function initializeProximityDevice() {
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.getDefault();

    if (proximityDevice) {
        id("publishMessageButton").addEventListener("click", publishMessage);
        id("subscribeForMessageButton").addEventListener("click", subscribeForMessage);
id("stopSubscribingForMessageButton").addEventListener("click", 
    stopSubScribingForMessage);
id("stopPublishingMessageButton").addEventListener("click", 
    stopPublishingMessage);
    }
    else {
        id("messageDiv").innerHTML += "Failed to initialized proximity device.<br />";
    }
}

function publishMessage() {
    // Stop publishing the current message.
    if (publishedMessageId != -1) {
        proximityDevice.stopPublishingMessage(publishedMessageId);
    }

    publishedMessageId = 
proximityDevice.publishMessage("Windows.SampleMessage", id("messageText").value,
                                       messagePublished);
}

    function messagePublished(sender, messageId) {
// The message has been successfully published.
}

function subscribeForMessage() {
    // Only subscribe for the message one time.
    if (subscribedMessageId === -1) {
        subscribedMessageId = 
    proximityDevice.subscribeForMessage("Windows.SampleMessage", messageReceived);
    }
}

function messageReceived(device, message) {
    id("messageDiv").innerHTML += "Message received: " + message.dataAsString + "<br />";
}

    function stopSubscribingForMessage() {
proximityDevice.stopSubscribingForMessage(subscribedMessageId);
    subscribedMessageId = -1;
    }

    function stopPublishingMessage() {
proximityDevice.stopPublishingMessage(publishedMessageId);
    publishedMessageId = -1;
    }


要件

最小限サポートされるクライアント

Windows 8

最小限サポートされるサーバー

Windows Server 2012

最小限サポートされる携帯電話

Windows Phone 8

名前空間

Windows.Networking.Proximity
Windows::Networking::Proximity [C++]

メタデータ

Windows.winmd

Capabilities

proximity
ID_CAP_PROXIMITY [Windows Phone]

参照

PublishMessage(String, String, MessageTransmittedHandler)
PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler)
PublishUriMessage(Uri, MessageTransmittedHandler)
近接通信とタップ (JavaScript)
近接通信とタップ (C#/VB/C++)
サンプル
近接通信のサンプル

 

 

表示:
© 2014 Microsoft. All rights reserved.