Condividi tramite


ProximityDevice Classe

Definizione

Consente di pubblicare messaggi in dispositivi prossimi o sottoscrivere messaggi da dispositivi di prossimità.

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
Ereditarietà
Object Platform::Object IInspectable ProximityDevice
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
Funzionalità dell'app
ID_CAP_PROXIMITY [Windows Phone] proximity ID_CAP_PROXIMITY [Windows Phone]

Esempio

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

Commenti

La classe ProximityDevice consente alle applicazioni di comunicare con le applicazioni in esecuzione nei dispositivi, in genere entro un intervallo di 3 centimetri a 4 centimetri.

È possibile creare un'istanza di ProximityDevice usando il metodo statico GetDefault o FromId .

La classe ProximityDevice usa la semantica di pubblicazione/sottoscrizione ed è utile per la pubblicità e la ricezione di piccoli blocchi di dati. Per grandi quantità di dati o per le comunicazioni persistenti, usare le classi PeerFinder e StreamSocket . Per le app UWP, le pubblicazioni e le sottoscrizioni sono attive solo se l'app chiamante è in primo piano.

Importante

Le API di prossimità non forniscono l'autenticazione, la crittografia o l'integrità dei messaggi. Non usare la prossimità per scambiare informazioni riservate degli utenti, ad esempio password, dati finanziari, messaggi di testo, messaggi di testo, messaggi di posta elettronica, fotografie o numeri di ID del governo.

Proprietà

BitsPerSecond

Ottiene la frequenza di trasferimento di un dispositivo di prossimità.

DeviceId

Ottiene l'ID DeviceInformation per un dispositivo di prossimità.

MaxMessageBytes

Ottiene la dimensione massima di un messaggio pubblicato supportato da questo dispositivo di prossimità.

Metodi

FromId(String)

Crea un'istanza di una classe ProximityDevice e attiva l'interfaccia del dispositivo di prossimità specificata.

GetDefault()

Crea un'istanza di una classe ProximityDevice e attiva il provider di prossimità predefinito.

GetDeviceSelector()

Restituisce la stringa di selezione della classe che è possibile usare per enumerare i dispositivi di prossimità.

PublishBinaryMessage(String, IBuffer)

Pubblica nei sottoscrittori del tipo di messaggio specificato un messaggio contenente dati binari.

PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler)

Pubblica un messaggio contenente dati binari nei sottoscrittori del tipo di messaggio specificato. Il gestore specificato viene chiamato quando il messaggio è stato trasmesso.

PublishMessage(String, String)

Pubblica un messaggio ai sottoscrittori del tipo di messaggio specificato.

PublishMessage(String, String, MessageTransmittedHandler)

Pubblica un messaggio ai sottoscrittori del tipo di messaggio specificato. Il gestore specificato viene chiamato quando il messaggio è stato trasmesso.

PublishUriMessage(Uri)

Pubblica un URI (Uniform Resource Identifier) in un dispositivo di prossimità.

PublishUriMessage(Uri, MessageTransmittedHandler)

Pubblica un URI (Uniform Resource Identifier) in un dispositivo di prossimità. Il gestore specificato viene chiamato quando il messaggio è stato trasmesso.

StopPublishingMessage(Int64)

Arresta la pubblicazione di un messaggio.

StopSubscribingForMessage(Int64)

Annulla una sottoscrizione di messaggio.

SubscribeForMessage(String, MessageReceivedHandler)

Crea una sottoscrizione per un tipo di messaggio specificato.

Eventi

DeviceArrived

Si verifica quando un dispositivo entra nell'intervallo di prossimità.

DeviceDeparted

Si verifica quando un dispositivo lascia l'intervallo di prossimità.

Si applica a

Vedi anche