ProximityDevice.PublishUriMessage Méthode
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.
Surcharges
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. |
PublishUriMessage(Uri)
Publie un URI (Uniform Resource Identifier) sur un appareil proche.
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
Paramètres
Retours
ID de publication du message.
- Attributs
Configuration requise pour Windows
Fonctionnalités de l’application |
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Exemples
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
Remarques
Un seul URI peut être publié à la fois pour chaque appareil de proximité.
Vous pouvez arrêter la publication d’un URI en transmettant l’ID de publication retourné par la méthode PublishUriMessage à la méthode StopPublishingMessage .
Contrairement aux autres méthodes de publication d’un appareil de proximité, la publication d’URI est gérée par le gestionnaire de protocole par défaut pour l’URI. Un abonnement à une publication de message URI n’est pas requis. Vous pouvez recevoir des messages URI en inscrivant un gestionnaire par défaut pour un protocole URI tel que le protocole HTTP.
La valeur PackageFamilyName de l’application émettrice est envoyée automatiquement avec l’URI. Si aucun gestionnaire n’est inscrit pour le protocole d’un URI, la valeur PackageFamilyName de l’application émettrice est utilisée pour diriger l’application réceptrice vers le magasin d’applications.
Vous pouvez utiliser la méthode PublishMessage pour publier un message texte sur un ordinateur proche. Vous pouvez utiliser la méthode PublishBinaryMessage pour publier des messages non textuels ou conformes à la norme de messagerie NDEF.
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.
Voir aussi
- PublishUriMessage(Uri, MessageTransmittedHandler)
- Proximité et tapotement (C#/VB/C++)
- Exemple de proximité
S’applique à
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.
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
Paramètres
- messageTransmittedHandler
- MessageTransmittedHandler
Gestionnaire à appeler lorsque le message a été transmis.
Retours
ID de publication du message.
- Attributs
Configuration requise pour Windows
Fonctionnalités de l’application |
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Exemples
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
Remarques
Un seul URI peut être publié à la fois pour chaque appareil de proximité.
Vous pouvez arrêter la publication d’un URI en transmettant l’ID de publication retourné par la méthode PublishUriMessage à la méthode StopPublishingMessage .
Contrairement aux autres méthodes de publication d’un appareil de proximité, la publication d’URI est gérée par le gestionnaire de protocole par défaut pour l’URI. Un abonnement à une publication de message URI n’est pas requis. Vous pouvez recevoir des messages URI en inscrivant un gestionnaire par défaut pour un protocole URI tel que le protocole HTTP.
La valeur PackageFamilyName de l’application émettrice est envoyée automatiquement avec l’URI. Si aucun gestionnaire n’est inscrit pour le protocole d’un URI, la valeur PackageFamilyName de l’application émettrice est utilisée pour diriger l’application réceptrice vers le magasin d’applications.
Vous pouvez utiliser la méthode PublishMessage pour publier un message texte sur un ordinateur proche. Vous pouvez utiliser la méthode PublishBinaryMessage pour publier des messages non textuels ou conformes à la norme de messagerie NDEF.
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.