ProximityDevice.PublishUriMessage Metodo
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.
Overload
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. |
PublishUriMessage(Uri)
Pubblica un URI (Uniform Resource Identifier) in un dispositivo di prossimità.
public:
virtual long long PublishUriMessage(Uri ^ message) = PublishUriMessage;
/// [Windows.Foundation.Metadata.Overload("PublishUriMessage")]
long PublishUriMessage(Uri const& message);
[Windows.Foundation.Metadata.Overload("PublishUriMessage")]
public long PublishUriMessage(System.Uri message);
function publishUriMessage(message)
Public Function PublishUriMessage (message As Uri) As Long
Parametri
Restituisce
ID pubblicazione del messaggio.
- Attributi
Requisiti Windows
Funzionalità dell'app |
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Esempio
private Windows.Networking.Proximity.ProximityDevice proximityDevice;
public MainPage()
{
this.InitializeComponent();
initializeProximitySample();
}
private void initializeProximitySample()
{
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();
if (proximityDevice == null)
WriteMessageText("Failed to initialized proximity device.\n" +
"Your device may not have proximity hardware.");
}
// 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;
});
}
Private proximityDevice As Windows.Networking.Proximity.ProximityDevice
Public Sub New()
Me.InitializeComponent()
initializeProximitySample()
End Sub
Private Sub initializeProximitySample()
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()
If proximityDevice Is Nothing Then
WriteMessageText("Failed to initialized proximity device." & vbCrLf &
"Your device may not have proximity hardware.")
End If
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
long publishedUriId = -1;
private void PublishUriButton_Click(object sender, RoutedEventArgs e)
{
// Stop publishing the current message.
if (publishedUriId != -1)
proximityDevice.StopPublishingMessage(publishedUriId);
publishedUriId =
proximityDevice.PublishUriMessage(new Uri("http://www.microsoft.com"));
}
private void StopPublishingUriButton_Click(object sender, RoutedEventArgs e)
{
proximityDevice.StopPublishingMessage(publishedUriId);
}
Private publishedUriId As Long = -1
Private Sub PublishUriButton_Click(sender As Object, e As RoutedEventArgs)
' Stop publishing the current message.
If publishedUriId <> -1 Then
proximityDevice.StopPublishingMessage(publishedUriId)
End If
publishedUriId =
proximityDevice.PublishUriMessage(New Uri("http:'www.microsoft.com"))
End Sub
Private Sub StopPublishingUriButton_Click()
proximityDevice.StopPublishingMessage(publishedUriId)
End Sub
Commenti
È possibile pubblicare un solo URI alla volta per ogni dispositivo di prossimità.
È possibile interrompere la pubblicazione di un URI passando l'ID pubblicazione restituito dal metodo PublishUriMessage al metodo StopPublishingMessage .
A differenza degli altri metodi di pubblicazione per un dispositivo di prossimità, la pubblicazione dell'URI viene gestita dal gestore di protocollo predefinito per l'URI. Non è necessaria una sottoscrizione a una pubblicazione di messaggi URI. È possibile ricevere messaggi URI registrando un gestore predefinito per un protocollo URI, ad esempio il protocollo HTTP.
Il valore PackageFamilyName dell'applicazione di invio viene inviato automaticamente insieme all'URI. Se non viene registrato alcun gestore per il protocollo di un URI, il valore PackageFamilyName dell'applicazione di invio viene usato per indirizzare l'applicazione ricevente all'archivio applicazioni.
È possibile utilizzare il metodo PublishMessage per pubblicare un sms in un computer di prossimità. È possibile utilizzare il metodo PublishBinaryMessage per pubblicare messaggi o messaggi non di testo conformi allo standard di messaggistica NDEF.
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, sms, messaggi di posta elettronica, fotografie o numeri di ID per enti pubblici.
Vedi anche
- PublishUriMessage(Uri, MessageTransmittedHandler)
- Prossimità e tocco (C#/VB/C++)
- Esempio di prossimità
Si applica a
PublishUriMessage(Uri, MessageTransmittedHandler)
Pubblica un URI (Uniform Resource Identifier) in un dispositivo di prossimità. Il gestore specificato viene chiamato quando il messaggio è stato trasmesso.
public:
virtual long long PublishUriMessage(Uri ^ message, MessageTransmittedHandler ^ messageTransmittedHandler) = PublishUriMessage;
/// [Windows.Foundation.Metadata.Overload("PublishUriMessageWithCallback")]
long PublishUriMessage(Uri const& message, MessageTransmittedHandler const& messageTransmittedHandler);
[Windows.Foundation.Metadata.Overload("PublishUriMessageWithCallback")]
public long PublishUriMessage(System.Uri message, MessageTransmittedHandler messageTransmittedHandler);
function publishUriMessage(message, messageTransmittedHandler)
Public Function PublishUriMessage (message As Uri, messageTransmittedHandler As MessageTransmittedHandler) As Long
Parametri
- messageTransmittedHandler
- MessageTransmittedHandler
Gestore da chiamare quando il messaggio è stato trasmesso.
Restituisce
ID pubblicazione del messaggio.
- Attributi
Requisiti Windows
Funzionalità dell'app |
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Esempio
private Windows.Networking.Proximity.ProximityDevice proximityDevice;
public MainPage()
{
this.InitializeComponent();
initializeProximitySample();
}
private void initializeProximitySample()
{
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();
if (proximityDevice == null)
WriteMessageText("Failed to initialized proximity device.\n" +
"Your device may not have proximity hardware.");
}
// 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;
});
}
Private proximityDevice As Windows.Networking.Proximity.ProximityDevice
Public Sub New()
Me.InitializeComponent()
initializeProximitySample()
End Sub
Private Sub initializeProximitySample()
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()
If proximityDevice Is Nothing Then
WriteMessageText("Failed to initialized proximity device." & vbCrLf &
"Your device may not have proximity hardware.")
End If
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
long publishedUriId = -1;
private void PublishUriButton_Click(object sender, RoutedEventArgs e)
{
// Stop publishing the current message.
if (publishedUriId != -1)
proximityDevice.StopPublishingMessage(publishedUriId);
publishedUriId =
proximityDevice.PublishUriMessage(new Uri("http://www.microsoft.com"),
UriTransmitted);
}
private void UriTransmitted(
Windows.Networking.Proximity.ProximityDevice sender,
long messageId)
{
// The Uri has been successfully transmitted.
}
private void StopPublishingUriButton_Click(object sender, RoutedEventArgs e)
{
proximityDevice.StopPublishingMessage(publishedUriId);
}
Private publishedUriId As Long = -1
Private Sub PublishUriButton_Click(sender As Object, e As RoutedEventArgs)
' Stop publishing the current message.
If publishedUriId <> -1 Then
proximityDevice.StopPublishingMessage(publishedUriId)
End If
publishedUriId =
proximityDevice.PublishUriMessage(New Uri("http:'www.microsoft.com"),
AddressOf UriTransmitted)
End Sub
Private Sub UriTransmitted(
sender As Windows.Networking.Proximity.ProximityDevice,
messageId As Long)
' The Uri has been successfully transmitted
End Sub
Private Sub StopPublishingUriButton_Click()
proximityDevice.StopPublishingMessage(publishedUriId)
End Sub
Commenti
È possibile pubblicare un solo URI alla volta per ogni dispositivo di prossimità.
È possibile interrompere la pubblicazione di un URI passando l'ID pubblicazione restituito dal metodo PublishUriMessage al metodo StopPublishingMessage .
A differenza degli altri metodi di pubblicazione per un dispositivo di prossimità, la pubblicazione dell'URI viene gestita dal gestore di protocollo predefinito per l'URI. Non è necessaria una sottoscrizione a una pubblicazione di messaggi URI. È possibile ricevere messaggi URI registrando un gestore predefinito per un protocollo URI, ad esempio il protocollo HTTP.
Il valore PackageFamilyName dell'applicazione di invio viene inviato automaticamente insieme all'URI. Se non viene registrato alcun gestore per il protocollo di un URI, il valore PackageFamilyName dell'applicazione di invio viene usato per indirizzare l'applicazione ricevente all'archivio applicazioni.
È possibile utilizzare il metodo PublishMessage per pubblicare un sms in un computer di prossimità. È possibile utilizzare il metodo PublishBinaryMessage per pubblicare messaggi o messaggi non di testo conformi allo standard di messaggistica NDEF.
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, sms, messaggi di posta elettronica, fotografie o numeri di ID per enti pubblici.