ProximityDevice クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
近接デバイスにメッセージを発行したり、近接デバイスからのメッセージをサブスクライブしたりできます。
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
- 継承
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
アプリの機能 |
ID_CAP_PROXIMITY [Windows Phone]
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
例
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
注釈
ProximityDevice クラスを使用すると、アプリケーションは、通常、3 センチメートルから 4 センチメートルの範囲内で、デバイス上で実行中のアプリケーションと通信できます。
GetDefault または FromId 静的メソッドを使用して、ProximityDevice のインスタンスを作成できます。
ProximityDevice クラスはパブリッシュ/サブスクライブ セマンティクスを使用し、小さなデータ ブロックのアドバタイズと受信に役立ちます。 大量のデータの場合、または永続的な通信の場合は、 PeerFinder クラスと StreamSocket クラスを使用します。 UWP アプリの場合、パブリケーションとサブスクリプションは、呼び出し元のアプリがフォアグラウンドにある場合にのみアクティブになります。
重要
近接 API では、認証、暗号化、またはメッセージの整合性は提供されません。 パスワード、財務データ、テキスト メッセージ、電子メール、写真、政府 ID 番号などのユーザーの機密情報を交換するために近接通信を使用しないでください。
プロパティ
BitsPerSecond |
近接デバイスの転送速度を取得します。 |
DeviceId |
近接デバイスの DeviceInformation ID を 取得します。 |
MaxMessageBytes |
この近接デバイスでサポートされている発行済みメッセージの最大サイズを取得します。 |
メソッド
FromId(String) |
ProximityDevice クラスのインスタンスを作成し、指定した近接デバイス インターフェイスをアクティブにします。 |
GetDefault() |
ProximityDevice クラスのインスタンスを作成し、既定の近接プロバイダーをアクティブにします。 |
GetDeviceSelector() |
近接デバイスの列挙に使用できるクラス選択文字列を返します。 |
PublishBinaryMessage(String, IBuffer) |
指定したメッセージ型のサブスクライバーに、バイナリ データを含むメッセージを発行します。 |
PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler) |
指定したメッセージの種類のサブスクライバーにバイナリ データを含むメッセージを発行します。 指定したハンドラーは、メッセージが送信されたときに呼び出されます。 |
PublishMessage(String, String) |
指定したメッセージの種類のサブスクライバーにメッセージを発行します。 |
PublishMessage(String, String, MessageTransmittedHandler) |
指定したメッセージの種類のサブスクライバーにメッセージを発行します。 指定したハンドラーは、メッセージが送信されたときに呼び出されます。 |
PublishUriMessage(Uri) |
Uri (Uniform Resource Identifier) を近接デバイスに発行します。 |
PublishUriMessage(Uri, MessageTransmittedHandler) |
Uri (Uniform Resource Identifier) を近接デバイスに発行します。 指定したハンドラーは、メッセージが送信されたときに呼び出されます。 |
StopPublishingMessage(Int64) |
メッセージの発行を停止します。 |
StopSubscribingForMessage(Int64) |
メッセージ サブスクリプションを取り消します。 |
SubscribeForMessage(String, MessageReceivedHandler) |
指定したメッセージの種類のサブスクリプションを作成します。 |
イベント
DeviceArrived |
デバイスが近接範囲に入ると発生します。 |
DeviceDeparted |
デバイスが近接範囲を離れると発生します。 |