Compartilhar via


ProximityDevice.PublishUriMessage Método

Definição

Sobrecargas

PublishUriMessage(Uri)

Publica um URI (Uniform Resource Identifier) em um dispositivo próximo.

PublishUriMessage(Uri, MessageTransmittedHandler)

Publica um URI (Uniform Resource Identifier) em um dispositivo próximo. O manipulador especificado é chamado quando a mensagem é transmitida.

PublishUriMessage(Uri)

Publica um URI (Uniform Resource Identifier) em um dispositivo próximo.

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

Parâmetros

message
Uri Uri

O URI a ser publicado.

Retornos

Int64

long long

long

A ID da publicação da mensagem.

Atributos

Requisitos do Windows

Funcionalidades do aplicativo
proximity ID_CAP_PROXIMITY [Windows Phone]

Exemplos

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

Comentários

Somente um URI pode ser publicado por vez para cada dispositivo de proximidade.

Você pode parar de publicar um URI passando a ID de publicação retornada pelo método PublishUriMessage para o método StopPublishingMessage .

Ao contrário dos outros métodos de publicação para um dispositivo de proximidade, a publicação de URI é tratada pelo manipulador de protocolo padrão para o URI. Uma assinatura de uma publicação de mensagem de URI não é necessária. Você pode receber mensagens de URI registrando um manipulador padrão para um protocolo URI, como o protocolo HTTP.

O valor PackageFamilyName do aplicativo de envio é enviado automaticamente junto com o URI. Se nenhum manipulador for registrado para o protocolo de um URI, o valor PackageFamilyName do aplicativo de envio será usado para direcionar o aplicativo receptor para o repositório de aplicativos.

Você pode usar o método PublishMessage para publicar uma mensagem de texto em um computador próximo. Você pode usar o método PublishBinaryMessage para publicar mensagens não textuais ou mensagens que estejam em conformidade com o padrão de mensagens NDEF.

Importante

As APIs de proximidade não fornecem autenticação, criptografia ou integridade da mensagem. Não use proximidade para trocar informações confidenciais do usuário, como senhas, dados financeiros, mensagens de texto, email, fotografias ou números de ID do governo.

Confira também

Aplica-se a

PublishUriMessage(Uri, MessageTransmittedHandler)

Publica um URI (Uniform Resource Identifier) em um dispositivo próximo. O manipulador especificado é chamado quando a mensagem é transmitida.

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

Parâmetros

message
Uri Uri

O URI a ser publicado.

messageTransmittedHandler
MessageTransmittedHandler

O manipulador a ser chamado quando a mensagem tiver sido transmitida.

Retornos

Int64

long long

long

A ID da publicação da mensagem.

Atributos

Requisitos do Windows

Funcionalidades do aplicativo
proximity ID_CAP_PROXIMITY [Windows Phone]

Exemplos

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

Comentários

Somente um URI pode ser publicado por vez para cada dispositivo de proximidade.

Você pode parar de publicar um URI passando a ID de publicação retornada pelo método PublishUriMessage para o método StopPublishingMessage .

Ao contrário dos outros métodos de publicação para um dispositivo de proximidade, a publicação de URI é tratada pelo manipulador de protocolo padrão para o URI. Uma assinatura de uma publicação de mensagem de URI não é necessária. Você pode receber mensagens de URI registrando um manipulador padrão para um protocolo URI, como o protocolo HTTP.

O valor PackageFamilyName do aplicativo de envio é enviado automaticamente junto com o URI. Se nenhum manipulador for registrado para o protocolo de um URI, o valor PackageFamilyName do aplicativo de envio será usado para direcionar o aplicativo receptor para o repositório de aplicativos.

Você pode usar o método PublishMessage para publicar uma mensagem de texto em um computador próximo. Você pode usar o método PublishBinaryMessage para publicar mensagens não textuais ou mensagens que estejam em conformidade com o padrão de mensagens NDEF.

Importante

As APIs de proximidade não fornecem autenticação, criptografia ou integridade da mensagem. Não use proximidade para trocar informações confidenciais do usuário, como senhas, dados financeiros, mensagens de texto, email, fotografias ou números de ID do governo.

Confira também

Aplica-se a