Compartir a través de


ProximityDevice.PublishUriMessage Método

Definición

Sobrecargas

PublishUriMessage(Uri)

Publica un identificador uniforme de recursos (URI) en un dispositivo proxy.

PublishUriMessage(Uri, MessageTransmittedHandler)

Publica un identificador uniforme de recursos (URI) en un dispositivo proxy. Se llama al controlador especificado cuando se ha transmitido el mensaje.

PublishUriMessage(Uri)

Publica un identificador uniforme de recursos (URI) en un dispositivo proxy.

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

URI que se va a publicar.

Devoluciones

Int64

long long

long

Identificador de publicación del mensaje.

Atributos

Requisitos de Windows

Características de aplicaciones
proximity ID_CAP_PROXIMITY [Windows Phone]

Ejemplos

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

Comentarios

Solo se puede publicar un URI cada vez para cada dispositivo de proximidad.

Puede dejar de publicar un URI pasando el identificador de publicación devuelto por el método PublishUriMessage al método StopPublishingMessage .

A diferencia de los otros métodos de publicación para un dispositivo de proximidad, la publicación de URI se controla mediante el controlador de protocolo predeterminado para el URI. No se requiere una suscripción a una publicación de mensajes URI. Puede recibir mensajes de URI registrando un controlador predeterminado para un protocolo URI, como el protocolo HTTP.

El valor PackageFamilyName de la aplicación de envío se envía automáticamente junto con el URI. Si no se registra ningún controlador para el protocolo de un URI, el valor PackageFamilyName de la aplicación de envío se usa para dirigir la aplicación receptora al almacén de aplicaciones.

Puede usar el método PublishMessage para publicar un mensaje de texto en un equipo proxy. Puede usar el método PublishBinaryMessage para publicar mensajes que no sean de texto o mensajes que cumplan el estándar de mensajería NDEF.

Importante

Las API de proximidad no proporcionan autenticación, cifrado ni integridad de mensajes. No use la proximidad para intercambiar información confidencial del usuario, como contraseñas, datos financieros, mensajes de texto, correo electrónico, fotografías o números de identificación gubernamentales.

Consulte también

Se aplica a

PublishUriMessage(Uri, MessageTransmittedHandler)

Publica un identificador uniforme de recursos (URI) en un dispositivo proxy. Se llama al controlador especificado cuando se ha transmitido el mensaje.

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

URI que se va a publicar.

messageTransmittedHandler
MessageTransmittedHandler

Controlador al que se va a llamar cuando se ha transmitido el mensaje.

Devoluciones

Int64

long long

long

Identificador de publicación del mensaje.

Atributos

Requisitos de Windows

Características de aplicaciones
proximity ID_CAP_PROXIMITY [Windows Phone]

Ejemplos

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

Comentarios

Solo se puede publicar un URI cada vez para cada dispositivo de proximidad.

Puede dejar de publicar un URI pasando el identificador de publicación devuelto por el método PublishUriMessage al método StopPublishingMessage .

A diferencia de los otros métodos de publicación para un dispositivo de proximidad, la publicación de URI se controla mediante el controlador de protocolo predeterminado para el URI. No se requiere una suscripción a una publicación de mensajes URI. Puede recibir mensajes de URI registrando un controlador predeterminado para un protocolo URI, como el protocolo HTTP.

El valor PackageFamilyName de la aplicación de envío se envía automáticamente junto con el URI. Si no se registra ningún controlador para el protocolo de un URI, el valor PackageFamilyName de la aplicación de envío se usa para dirigir la aplicación receptora al almacén de aplicaciones.

Puede usar el método PublishMessage para publicar un mensaje de texto en un equipo proxy. Puede usar el método PublishBinaryMessage para publicar mensajes que no sean de texto o mensajes que cumplan el estándar de mensajería NDEF.

Importante

Las API de proximidad no proporcionan autenticación, cifrado ni integridad de mensajes. No use la proximidad para intercambiar información confidencial del usuario, como contraseñas, datos financieros, mensajes de texto, correo electrónico, fotografías o números de identificación gubernamentales.

Consulte también

Se aplica a