2017-10-20 71 views
1

WindowsのWinFormsアプリケーションでWindows.Devices APIを使用しています。Bluetoothバーコードスキャナに接続しています。接続は正常に動作し、接続が確立されたとき、および接続が切断された(切断された)ときにイベントを取得します。 しかし、スキャナのバッテリを交換してスキャナがWindowsに再接続すると、イベントが発生しません。 私の質問は、デバイスがBleutoothに再接続したときにイベントを受け取る可能性がある場合です。UWPアプリケーションでのBluetooth接続の通知

私が必要とするのは、デバイスがBluetooth経由で再接続された後に、デバイスにソケットを再接続することです。

EDIT:親愛なる管理者、これはではなく、 WinFormsの問題です。この問題は、UIをまったく扱っていません。これはWindows.Devices UWP APIのAPIの問題です。タグの変更を提案してください。

おかげ スヴェン

いくつかのサンプルコード:

private void OnDeviceConnectionStatusChanged(BluetoothDevice sender, object args) 
{ 
} 

答えて

0

私がこれまでに出て見つけたもの:

_device = await BluetoothDevice.FromBluetoothAddressAsync(decimalAddress); 
_device.ConnectionStatusChanged += OnDeviceConnectionStatusChanged; 

イベントだけに最初に接続し、デバイスの切断時に呼ばれていますイベントが再び起きないことは非常に一般的なようです。例えば、データを受信するためにソケットを開くなど、デバイスへの新しい接続を積極的に作成する必要があります。 だから私の問題の解決策は、新しい接続を確立するために、再度

StreamSocket.ConnectAsync() 
を呼び出すことにより、Bluetoothデバイスに接続するようにしました。その後、ConnectionStatusChangedが接続された状態で生成されます。

幸運

スヴェン