ProximityDevice Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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à. |