ProximityDevice.PublishUriMessage Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
PublishUriMessage(Uri) |
Публикует универсальный код ресурса (URI) на ближайшее устройство. |
PublishUriMessage(Uri, MessageTransmittedHandler) |
Публикует универсальный код ресурса (URI) на ближайшее устройство. Указанный обработчик вызывается при передаче сообщения. |
PublishUriMessage(Uri)
Публикует универсальный код ресурса (URI) на ближайшее устройство.
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
Параметры
Возвращаемое значение
Идентификатор публикации сообщения.
- Атрибуты
Требования к Windows
Возможности приложения |
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Примеры
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
Комментарии
Для каждого устройства близкого взаимодействия одновременно можно опубликовать только один универсальный код ресурса (URI).
Вы можете остановить публикацию URI, передав идентификатор публикации, возвращенный методом PublishUriMessage, в метод StopPublishingMessage .
В отличие от других методов публикации для устройства близкого взаимодействия, публикация URI обрабатывается обработчиком протокола по умолчанию для URI. Подписка на публикацию сообщений URI не требуется. Вы можете получать сообщения URI, зарегистрировав обработчик по умолчанию для протокола URI, например протокола HTTP.
Значение PackageFamilyName отправляющего приложения автоматически отправляется вместе с универсальным кодом ресурса (URI). Если для протокола универсального кода ресурса (URI) не зарегистрирован обработчик, значение PackageFamilyName отправляющего приложения используется для направления принимающего приложения в хранилище приложений.
Для публикации текстового сообщения на прокси-компьютере можно использовать метод PublishMessage . Метод PublishBinaryMessage можно использовать для публикации нетекстовых сообщений или сообщений, соответствующих стандарту обмена сообщениями NDEF.
Важно!
API близкого взаимодействия не обеспечивают проверку подлинности, шифрование или целостность сообщений. Не используйте близкое расположение для обмена конфиденциальной информацией пользователя, например паролями, финансовыми данными, текстовыми сообщениями, электронной почтой, фотографиями или номерами правительственных идентификаторов.
См. также раздел
- PublishUriMessage(Uri, MessageTransmittedHandler)
- Близкое расположение и касание (C#/VB/C++)
- Образец Proximity
Применяется к
PublishUriMessage(Uri, MessageTransmittedHandler)
Публикует универсальный код ресурса (URI) на ближайшее устройство. Указанный обработчик вызывается при передаче сообщения.
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
Параметры
- messageTransmittedHandler
- MessageTransmittedHandler
Обработчик, вызываемый при передаче сообщения.
Возвращаемое значение
Идентификатор публикации сообщения.
- Атрибуты
Требования к Windows
Возможности приложения |
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Примеры
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
Комментарии
Для каждого устройства близкого взаимодействия одновременно можно опубликовать только один универсальный код ресурса (URI).
Вы можете остановить публикацию URI, передав идентификатор публикации, возвращенный методом PublishUriMessage , в метод StopPublishingMessage .
В отличие от других методов публикации для устройства близкого взаимодействия, публикация URI обрабатывается обработчиком протокола по умолчанию для URI. Подписка на публикацию сообщений URI не требуется. Вы можете получать сообщения URI, зарегистрировав обработчик по умолчанию для протокола URI, например протокола HTTP.
Значение PackageFamilyName отправляющего приложения автоматически отправляется вместе с универсальным кодом ресурса (URI). Если для протокола универсального кода ресурса (URI) не зарегистрирован обработчик, значение PackageFamilyName отправляющего приложения используется для направления принимающего приложения в хранилище приложений.
Для публикации текстового сообщения на прокси-компьютере можно использовать метод PublishMessage . Метод PublishBinaryMessage можно использовать для публикации нетекстовых сообщений или сообщений, соответствующих стандарту обмена сообщениями NDEF.
Важно!
API близкого взаимодействия не обеспечивают проверку подлинности, шифрование или целостность сообщений. Не используйте близкое расположение для обмена конфиденциальной информацией пользователя, например паролями, финансовыми данными, текстовыми сообщениями, электронной почтой, фотографиями или номерами правительственных идентификаторов.