ProximityDevice.PublishUriMessage メソッド

定義

オーバーロード

PublishUriMessage(Uri)

Uri (Uniform Resource Identifier) を近接デバイスに発行します。

PublishUriMessage(Uri, MessageTransmittedHandler)

Uri (Uniform Resource Identifier) を近接デバイスに発行します。 指定されたハンドラーは、メッセージが送信されたときに呼び出されます。

PublishUriMessage(Uri)

Uri (Uniform Resource Identifier) を近接デバイスに発行します。

public:
 virtual long long PublishUriMessage(Uri ^ message) = PublishUriMessage;
/// [Windows.Foundation.Metadata.Overload("PublishUriMessage")]
long PublishUriMessage(Uri const& message);
[Windows.Foundation.Metadata.Overload("PublishUriMessage")]
public long PublishUriMessage(System.Uri message);
function publishUriMessage(message)
Public Function PublishUriMessage (message As Uri) As Long

パラメーター

message
Uri Uri

発行する URI。

戻り値

Int64

long long

long

メッセージのパブリケーション ID。

属性

Windows の要件

アプリの機能
proximity ID_CAP_PROXIMITY [Windows Phone]

private Windows.Networking.Proximity.ProximityDevice proximityDevice;
    
public MainPage()
{
    this.InitializeComponent();

    initializeProximitySample();
}

private void initializeProximitySample() 
{
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

    if (proximityDevice == null)
        WriteMessageText("Failed to initialized proximity device.\n" +
                         "Your device may not have proximity hardware.");
}

// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;

async private void WriteMessageText(string message, bool overwrite = false)
{
    await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            if (overwrite)
                MessageBlock.Text = message;
            else
                MessageBlock.Text += message;
        });
}
Private proximityDevice As Windows.Networking.Proximity.ProximityDevice

Public Sub New()
    Me.InitializeComponent()

    initializeProximitySample()
End Sub

Private Sub initializeProximitySample()
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()

    If proximityDevice Is Nothing Then
        WriteMessageText("Failed to initialized proximity device." & vbCrLf &
                         "Your device may not have proximity hardware.")
    End If
End Sub

' Write a message to MessageBlock on the UI thread.
Private Async Sub WriteMessageText(message As String, Optional overwrite As Boolean = False)
    Await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
            Sub()
                If overwrite Then
                    MessageBlock.Text = message
                Else
                    MessageBlock.Text &= message
                End If
            End Sub)
End Sub
long publishedUriId = -1;

private void PublishUriButton_Click(object sender, RoutedEventArgs e)
{
    // Stop publishing the current message.
    if (publishedUriId != -1)
        proximityDevice.StopPublishingMessage(publishedUriId);

    publishedUriId =
        proximityDevice.PublishUriMessage(new Uri("http://www.microsoft.com"));
}

private void StopPublishingUriButton_Click(object sender, RoutedEventArgs e)
{
    proximityDevice.StopPublishingMessage(publishedUriId);
}
Private publishedUriId As Long = -1

Private Sub PublishUriButton_Click(sender As Object, e As RoutedEventArgs)
    ' Stop publishing the current message.
    If publishedUriId <> -1 Then
        proximityDevice.StopPublishingMessage(publishedUriId)
    End If

    publishedUriId =
        proximityDevice.PublishUriMessage(New Uri("http:'www.microsoft.com"))
End Sub

Private Sub StopPublishingUriButton_Click()
    proximityDevice.StopPublishingMessage(publishedUriId)
End Sub

注釈

近接デバイスごとに一度に発行できる URI は 1 つだけです。

PublishUriMessage メソッドから返されたパブリケーション ID を StopPublishingMessage メソッドに渡すことで、URI の発行を停止できます。

近接デバイスの他の発行メソッドとは異なり、URI 発行は URI の既定のプロトコル ハンドラーによって処理されます。 URI メッセージ パブリケーションのサブスクリプションは必要ありません。 HTTP プロトコルなどの URI プロトコルの既定のハンドラーを登録することで、URI メッセージを受信できます。

送信側アプリケーションの PackageFamilyName 値は、URI と共に自動的に送信されます。 URI のプロトコルにハンドラーが登録されていない場合は、送信側アプリケーションの PackageFamilyName 値を使用して、受信側のアプリケーションをアプリケーション ストアに転送します。

PublishMessage メソッドを使用して、近接コンピューターにテキスト メッセージを発行できます。 PublishBinaryMessage メソッドを使用すると、NDEF メッセージング標準に準拠するテキスト以外のメッセージまたはメッセージを発行できます。

重要

近接 API では、認証、暗号化、またはメッセージの整合性は提供されません。 パスワード、財務データ、テキスト メッセージ、電子メール、写真、政府 ID 番号などのユーザーの機密情報を交換するために近接性を使用しないでください。

こちらもご覧ください

適用対象

PublishUriMessage(Uri, MessageTransmittedHandler)

Uri (Uniform Resource Identifier) を近接デバイスに発行します。 指定されたハンドラーは、メッセージが送信されたときに呼び出されます。

public:
 virtual long long PublishUriMessage(Uri ^ message, MessageTransmittedHandler ^ messageTransmittedHandler) = PublishUriMessage;
/// [Windows.Foundation.Metadata.Overload("PublishUriMessageWithCallback")]
long PublishUriMessage(Uri const& message, MessageTransmittedHandler const& messageTransmittedHandler);
[Windows.Foundation.Metadata.Overload("PublishUriMessageWithCallback")]
public long PublishUriMessage(System.Uri message, MessageTransmittedHandler messageTransmittedHandler);
function publishUriMessage(message, messageTransmittedHandler)
Public Function PublishUriMessage (message As Uri, messageTransmittedHandler As MessageTransmittedHandler) As Long

パラメーター

message
Uri Uri

発行する URI。

messageTransmittedHandler
MessageTransmittedHandler

メッセージが送信されたときに呼び出すハンドラー。

戻り値

Int64

long long

long

メッセージのパブリケーション ID。

属性

Windows の要件

アプリの機能
proximity ID_CAP_PROXIMITY [Windows Phone]

private Windows.Networking.Proximity.ProximityDevice proximityDevice;
    
public MainPage()
{
    this.InitializeComponent();

    initializeProximitySample();
}

private void initializeProximitySample() 
{
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

    if (proximityDevice == null)
        WriteMessageText("Failed to initialized proximity device.\n" +
                         "Your device may not have proximity hardware.");
}

// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;

async private void WriteMessageText(string message, bool overwrite = false)
{
    await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            if (overwrite)
                MessageBlock.Text = message;
            else
                MessageBlock.Text += message;
        });
}
Private proximityDevice As Windows.Networking.Proximity.ProximityDevice

Public Sub New()
    Me.InitializeComponent()

    initializeProximitySample()
End Sub

Private Sub initializeProximitySample()
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()

    If proximityDevice Is Nothing Then
        WriteMessageText("Failed to initialized proximity device." & vbCrLf &
                         "Your device may not have proximity hardware.")
    End If
End Sub

' Write a message to MessageBlock on the UI thread.
Private Async Sub WriteMessageText(message As String, Optional overwrite As Boolean = False)
    Await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
            Sub()
                If overwrite Then
                    MessageBlock.Text = message
                Else
                    MessageBlock.Text &= message
                End If
            End Sub)
End Sub
    long publishedUriId = -1;

    private void PublishUriButton_Click(object sender, RoutedEventArgs e)
    {
        // Stop publishing the current message.
        if (publishedUriId != -1)
            proximityDevice.StopPublishingMessage(publishedUriId);

        publishedUriId =
            proximityDevice.PublishUriMessage(new Uri("http://www.microsoft.com"),
                                              UriTransmitted);
    }

private void UriTransmitted(
    Windows.Networking.Proximity.ProximityDevice sender,
        long messageId)
    {
    // The Uri has been successfully transmitted.
    }

    private void StopPublishingUriButton_Click(object sender, RoutedEventArgs e)
    {
        proximityDevice.StopPublishingMessage(publishedUriId);
    }
Private publishedUriId As Long = -1

Private Sub PublishUriButton_Click(sender As Object, e As RoutedEventArgs)
    ' Stop publishing the current message.
    If publishedUriId <> -1 Then
        proximityDevice.StopPublishingMessage(publishedUriId)
    End If

    publishedUriId =
        proximityDevice.PublishUriMessage(New Uri("http:'www.microsoft.com"),
                                          AddressOf UriTransmitted)
End Sub

Private Sub UriTransmitted(
sender As Windows.Networking.Proximity.ProximityDevice,
    messageId As Long)

' The Uri has been successfully transmitted
End Sub

Private Sub StopPublishingUriButton_Click()
    proximityDevice.StopPublishingMessage(publishedUriId)
End Sub

注釈

近接デバイスごとに一度に発行できる URI は 1 つだけです。

PublishUriMessage メソッドから返されたパブリケーション ID を StopPublishingMessage メソッドに渡すことで、URI の発行を停止できます。

近接デバイスの他の発行メソッドとは異なり、URI 発行は URI の既定のプロトコル ハンドラーによって処理されます。 URI メッセージ パブリケーションのサブスクリプションは必要ありません。 HTTP プロトコルなどの URI プロトコルの既定のハンドラーを登録することで、URI メッセージを受信できます。

送信側アプリケーションの PackageFamilyName 値は、URI と共に自動的に送信されます。 URI のプロトコルにハンドラーが登録されていない場合は、送信側アプリケーションの PackageFamilyName 値を使用して、受信側のアプリケーションをアプリケーション ストアに転送します。

PublishMessage メソッドを使用して、近接コンピューターにテキスト メッセージを発行できます。 PublishBinaryMessage メソッドを使用すると、NDEF メッセージング標準に準拠するテキスト以外のメッセージまたはメッセージを発行できます。

重要

近接 API では、認証、暗号化、またはメッセージの整合性は提供されません。 パスワード、財務データ、テキスト メッセージ、電子メール、写真、政府 ID 番号などのユーザーの機密情報を交換するために近接性を使用しないでください。

こちらもご覧ください

適用対象