ProximityDevice.PublishUriMessage Метод

Определение

Перегрузки

PublishUriMessage(Uri)

Публикует универсальный код ресурса (URI) на ближайшее устройство.

PublishUriMessage(Uri, MessageTransmittedHandler)

Публикует универсальный код ресурса (URI) на ближайшее устройство. Указанный обработчик вызывается при передаче сообщения.

PublishUriMessage(Uri)

Публикует универсальный код ресурса (URI) на ближайшее устройство.

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

Идентификатор публикации сообщения.

Атрибуты

Требования к 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).

Вы можете остановить публикацию URI, передав идентификатор публикации, возвращенный методом PublishUriMessage, в метод StopPublishingMessage .

В отличие от других методов публикации для устройства близкого взаимодействия, публикация URI обрабатывается обработчиком протокола по умолчанию для URI. Подписка на публикацию сообщений URI не требуется. Вы можете получать сообщения URI, зарегистрировав обработчик по умолчанию для протокола URI, например протокола HTTP.

Значение PackageFamilyName отправляющего приложения автоматически отправляется вместе с универсальным кодом ресурса (URI). Если для протокола универсального кода ресурса (URI) не зарегистрирован обработчик, значение PackageFamilyName отправляющего приложения используется для направления принимающего приложения в хранилище приложений.

Для публикации текстового сообщения на прокси-компьютере можно использовать метод PublishMessage . Метод PublishBinaryMessage можно использовать для публикации нетекстовых сообщений или сообщений, соответствующих стандарту обмена сообщениями NDEF.

Важно!

API близкого взаимодействия не обеспечивают проверку подлинности, шифрование или целостность сообщений. Не используйте близкое расположение для обмена конфиденциальной информацией пользователя, например паролями, финансовыми данными, текстовыми сообщениями, электронной почтой, фотографиями или номерами правительственных идентификаторов.

См. также раздел

Применяется к

PublishUriMessage(Uri, MessageTransmittedHandler)

Публикует универсальный код ресурса (URI) на ближайшее устройство. Указанный обработчик вызывается при передаче сообщения.

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

Идентификатор публикации сообщения.

Атрибуты

Требования к 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).

Вы можете остановить публикацию URI, передав идентификатор публикации, возвращенный методом PublishUriMessage , в метод StopPublishingMessage .

В отличие от других методов публикации для устройства близкого взаимодействия, публикация URI обрабатывается обработчиком протокола по умолчанию для URI. Подписка на публикацию сообщений URI не требуется. Вы можете получать сообщения URI, зарегистрировав обработчик по умолчанию для протокола URI, например протокола HTTP.

Значение PackageFamilyName отправляющего приложения автоматически отправляется вместе с универсальным кодом ресурса (URI). Если для протокола универсального кода ресурса (URI) не зарегистрирован обработчик, значение PackageFamilyName отправляющего приложения используется для направления принимающего приложения в хранилище приложений.

Для публикации текстового сообщения на прокси-компьютере можно использовать метод PublishMessage . Метод PublishBinaryMessage можно использовать для публикации нетекстовых сообщений или сообщений, соответствующих стандарту обмена сообщениями NDEF.

Важно!

API близкого взаимодействия не обеспечивают проверку подлинности, шифрование или целостность сообщений. Не используйте близкое расположение для обмена конфиденциальной информацией пользователя, например паролями, финансовыми данными, текстовыми сообщениями, электронной почтой, фотографиями или номерами правительственных идентификаторов.

См. также раздел

Применяется к