ProximityDevice Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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é. |