Compartilhar via


ProximityDevice Classe

Definição

Permite que você publique mensagens para aproximar dispositivos ou assinar mensagens de dispositivos próximos.

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
Herança
Object Platform::Object IInspectable ProximityDevice
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
Funcionalidades do aplicativo
ID_CAP_PROXIMITY [Windows Phone] proximity ID_CAP_PROXIMITY [Windows Phone]

Exemplos

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

Comentários

A classe ProximityDevice permite que os aplicativos se comuniquem com aplicativos em execução em dispositivos, normalmente dentro de um intervalo de 3 centímetros a 4 centímetros.

Você pode criar uma instância de ProximityDevice usando o método estático GetDefault ou FromId .

A classe ProximityDevice usa semântica de publicação/assinatura e é útil para publicidade e recebimento de pequenos blocos de dados. Para quantidades maiores de dados ou para comunicações persistentes, use as classes PeerFinder e StreamSocket . Para aplicativos UWP, as publicações e assinaturas estarão ativas somente se o aplicativo de chamada estiver em primeiro plano.

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.

Propriedades

BitsPerSecond

Obtém a taxa de transferência de um dispositivo de proximidade.

DeviceId

Obtém a ID de DeviceInformation para um dispositivo de proximidade.

MaxMessageBytes

Obtém o tamanho máximo de uma mensagem publicada à qual esse dispositivo de proximidade dá suporte.

Métodos

FromId(String)

Cria uma instância de uma classe ProximityDevice e ativa a interface de dispositivo de proximidade especificada.

GetDefault()

Cria uma instância de uma classe ProximityDevice e ativa o provedor de proximidade padrão.

GetDeviceSelector()

Retorna a cadeia de caracteres de seleção de classe que você pode usar para enumerar dispositivos de proximidade.

PublishBinaryMessage(String, IBuffer)

Publica para assinantes da mensagem especificada um tipo de mensagem que contém dados binários.

PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler)

Publica uma mensagem que contém dados binários para assinantes do tipo de mensagem especificado. O manipulador especificado é chamado quando a mensagem é transmitida.

PublishMessage(String, String)

Publica uma mensagem aos assinantes do tipo de mensagem especificado.

PublishMessage(String, String, MessageTransmittedHandler)

Publica uma mensagem aos assinantes do tipo de mensagem especificado. O manipulador especificado é chamado quando a mensagem é transmitida.

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.

StopPublishingMessage(Int64)

Interrompe a publicação de uma mensagem.

StopSubscribingForMessage(Int64)

Cancela uma assinatura de mensagem.

SubscribeForMessage(String, MessageReceivedHandler)

Cria uma assinatura para um tipo de mensagem especificado.

Eventos

DeviceArrived

Ocorre quando um dispositivo entra no intervalo próximo.

DeviceDeparted

Ocorre quando um dispositivo sai do intervalo próximo.

Aplica-se a

Confira também