Compartir a través de


ProximityDevice Clase

Definición

Permite publicar mensajes en dispositivos proxy o suscribirse a mensajes de dispositivos proxy.

public ref class ProximityDevice sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ProximityDevice final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ProximityDevice
Public NotInheritable Class ProximityDevice
Herencia
Object Platform::Object IInspectable ProximityDevice
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
Características de aplicaciones
ID_CAP_PROXIMITY [Windows Phone] proximity ID_CAP_PROXIMITY [Windows Phone]

Ejemplos

Windows.Networking.Proximity.ProximityDevice proximityDevice;

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

    if (proximityDevice != null) {
        proximityDevice.DeviceArrived += ProximityDeviceArrived;
        proximityDevice.DeviceDeparted += ProximityDeviceDeparted;

        WriteMessageText("Proximity device initialized.\n");
    }
    else
    {
        WriteMessageText("Failed to initialized proximity device.\n");
    }
}

private void ProximityDeviceArrived(Windows.Networking.Proximity.ProximityDevice device)
{
    WriteMessageText("Proximate device arrived. id = " + device.DeviceId + "\n");
}

private void ProximityDeviceDeparted(Windows.Networking.Proximity.ProximityDevice device)
{
    WriteMessageText("Proximate device departed. id = " + device.DeviceId + "\n");
}

// 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;
        });
}
Dim proximityDevice As Windows.Networking.Proximity.ProximityDevice

Private Sub InitializeProximityDevice()

    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()

    If proximityDevice IsNot Nothing Then
        AddHandler proximityDevice.DeviceArrived, AddressOf ProximityDeviceArrived
        AddHandler proximityDevice.DeviceDeparted, AddressOf ProximityDeviceDeparted

        WriteMessageText("Proximity device initialized." & vbTab)
    Else
        WriteMessageText("Failed to initialized proximity device." & vbTab)
    End If
End Sub

Private Sub ProximityDeviceArrived(device As Windows.Networking.Proximity.ProximityDevice)
    WriteMessageText("Proximate device arrived. id = " & device.DeviceId & vbTab)
End Sub

Private Sub ProximityDeviceDeparted(device As Windows.Networking.Proximity.ProximityDevice)
    WriteMessageText("Proximate device departed. id = " & device.DeviceId & vbTab)
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

Comentarios

La clase ProximityDevice permite a las aplicaciones comunicarse con aplicaciones en ejecución en dispositivos, normalmente dentro de un intervalo de 3 centímetros a 4 centímetros.

Puede crear una instancia de ProximityDevice mediante el método estático GetDefault o FromId .

La clase ProximityDevice usa la semántica de publicación y suscripción y es útil para anunciar y recibir pequeños bloques de datos. Para grandes cantidades de datos, o para las comunicaciones persistentes, use las clases PeerFinder y StreamSocket . En el caso de las aplicaciones para UWP, las publicaciones y las suscripciones solo están activas si la aplicación que realiza la llamada está en primer plano.

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.

Propiedades

BitsPerSecond

Obtiene la velocidad de transferencia de un dispositivo de proximidad.

DeviceId

Obtiene el identificador deviceInformation de un dispositivo de proximidad.

MaxMessageBytes

Obtiene el tamaño máximo de un mensaje publicado que admite este dispositivo de proximidad.

Métodos

FromId(String)

Crea una instancia de una clase ProximityDevice y activa la interfaz de dispositivo de proximidad especificada.

GetDefault()

Crea una instancia de una clase ProximityDevice y activa el proveedor de proximidad predeterminado.

GetDeviceSelector()

Devuelve la cadena de selección de clase que puede usar para enumerar los dispositivos de proximidad.

PublishBinaryMessage(String, IBuffer)

Publica en los suscriptores del tipo de mensaje especificado un mensaje que contiene datos binarios.

PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler)

Publica un mensaje que contiene datos binarios a los suscriptores del tipo de mensaje especificado. Se llama al controlador especificado cuando se ha transmitido el mensaje.

PublishMessage(String, String)

Publica un mensaje a los suscriptores del tipo de mensaje especificado.

PublishMessage(String, String, MessageTransmittedHandler)

Publica un mensaje a los suscriptores del tipo de mensaje especificado. Se llama al controlador especificado cuando se ha transmitido el mensaje.

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.

StopPublishingMessage(Int64)

Detiene la publicación de un mensaje.

StopSubscribingForMessage(Int64)

Cancela una suscripción de mensaje.

SubscribeForMessage(String, MessageReceivedHandler)

Crea una suscripción para un tipo de mensaje especificado.

Eventos

DeviceArrived

Se produce cuando un dispositivo entra en el intervalo de servidores proxy.

DeviceDeparted

Se produce cuando un dispositivo sale del intervalo de servidores proxy.

Se aplica a

Consulte también