ProximityDevice Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |