Partager via


ProximityDevice Classe

Définition

Vous permet de publier des messages sur des appareils proches ou de vous abonner à des messages provenant d’appareils proximaux.

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
Héritage
Object Platform::Object IInspectable ProximityDevice
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
Fonctionnalités de l’application
ID_CAP_PROXIMITY [Windows Phone] proximity ID_CAP_PROXIMITY [Windows Phone]

Exemples

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

Remarques

La classe ProximityDevice permet aux applications de communiquer avec les applications en cours d’exécution sur des appareils, généralement dans une plage de 3 centimètres à 4 centimètres.

Vous pouvez créer une instance de ProximityDevice à l’aide de la méthode statique GetDefault ou FromId.

La classe ProximityDevice utilise la sémantique de publication/abonnement et est utile pour la publicité et la réception de petits blocs de données. Pour les grandes quantités de données ou pour les communications persistantes, utilisez les classes PeerFinder et StreamSocket . Pour les applications UWP, les publications et les abonnements ne sont actifs que si l’application appelante est au premier plan.

Important

Les API de proximité ne fournissent pas d’authentification, de chiffrement ou d’intégrité des messages. N’utilisez pas la proximité pour échanger des informations sensibles sur les utilisateurs, telles que des mots de passe, des données financières, des messages texte, des e-mails, des photographies ou des numéros d’identification gouvernementaux.

Propriétés

BitsPerSecond

Obtient le taux de transfert d’un appareil de proximité.

DeviceId

Obtient l’ID DeviceInformation d’un appareil de proximité.

MaxMessageBytes

Obtient la taille maximale d’un message publié pris en charge par cet appareil de proximité.

Méthodes

FromId(String)

Crée une instance d’une classe ProximityDevice et active l’interface d’appareil de proximité spécifiée.

GetDefault()

Crée une instance d’une classe ProximityDevice et active le fournisseur de proximité par défaut.

GetDeviceSelector()

Retourne la chaîne de sélection de classe que vous pouvez utiliser pour énumérer les appareils de proximité.

PublishBinaryMessage(String, IBuffer)

Publie aux abonnés du type de message spécifié un message qui contient des données binaires.

PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler)

Publie un message qui contient des données binaires pour les abonnés du type de message spécifié. Le gestionnaire spécifié est appelé lorsque le message a été transmis.

PublishMessage(String, String)

Publie un message pour les abonnés du type de message spécifié.

PublishMessage(String, String, MessageTransmittedHandler)

Publie un message pour les abonnés du type de message spécifié. Le gestionnaire spécifié est appelé lorsque le message a été transmis.

PublishUriMessage(Uri)

Publie un URI (Uniform Resource Identifier) sur un appareil proche.

PublishUriMessage(Uri, MessageTransmittedHandler)

Publie un URI (Uniform Resource Identifier) sur un appareil proche. Le gestionnaire spécifié est appelé lorsque le message a été transmis.

StopPublishingMessage(Int64)

Arrête la publication d’un message.

StopSubscribingForMessage(Int64)

Annule un abonnement aux messages.

SubscribeForMessage(String, MessageReceivedHandler)

Crée un abonnement pour un type de message spécifié.

Événements

DeviceArrived

Se produit lorsqu’un appareil entre dans la plage de proximité.

DeviceDeparted

Se produit lorsqu’un appareil quitte la plage de proximité.

S’applique à

Voir aussi