2017-04-26 3 views
0

Bon après-midi. Je travaille sur une application qui est supposée transférer des fichiers de l'ordinateur à un smartphone via Bluetooth, mais le couplage ne fonctionne pas comme je m'y attendais.Bluetooth SerialPort contre ObexFileTransfer

Jumelage avec 32feets Bibliothèque:

BluetoothEndPoint remoteEndPoint = new BluetoothEndPoint(selecteddevice.DeviceAddress,BluetoothService.ObexFileTransfer); 

Le dernier paramètre est supposé être le GUID adaptateur Bluetooth. Si je nourris par

  1. BluetoothService.SerialPort. Je ne peux me connecter qu'à Iphone SE

  2. BluetoothService.ObexFileTransfer. Je ne peux me connecter qu'avec Allview Soul Xtream Mini. J'ai aussi un onglet de galaxie 2 que je ne peux pas connecter dans les deux sens. J'ai utilisé une capture et l'erreur est la suivante:

    • ex { "L'adresse est pas valide dans son 4CBCA5CAA8A0 contexte: 0000110600001000800000805f9b34fb"} System.Net.Sockets.SocketException

Je l'ai fait quelques recherches et voici ce que j'ai trouvé: https://32feet.codeplex.com/wikipage?title=Errors

code de jumelage:

private void Connect() 
     { 
      SelectBluetoothDeviceDialog bldialog = new SelectBluetoothDeviceDialog(); 
      serviceClass = BluetoothService.SerialPort; 
      bldialog.ShowAuthenticated = true; 
      bldialog.ShowRemembered = true; 
      bldialog.ShowUnknown = true; 

      if (bldialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
      { 
       if (bldialog.SelectedDevice == null) 
       { 
        System.Windows.Forms.MessageBox.Show("No device selected", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
        return; 
       }      
       BluetoothDeviceInfo selecteddevice = bldialog.SelectedDevice; 
       BluetoothEndPoint remoteEndPoint = new BluetoothEndPoint(selecteddevice.DeviceAddress, BluetoothService.ObexFileTransfer); 

       client = new BluetoothClient(); 
       try 
       { 
        client.Connect(remoteEndPoint); 
       } 
       catch (SocketException ex) 
       { 
        return; 
       } 
       catch (ObjectDisposedException ex) 
       { 
        return; 
       } 
       catch (IOException ex) 
       { 
        return; 
       } 

       textBox.Text += string.Format("Connected to: {0}", selecteddevice.DeviceName); 
       textBox.Text += string.Format("Bluetooth Device Browser. Current Device: {0}", selecteddevice.DeviceName); 

      } 
     } 

Comme Bluetooth j'utilise ASUS USB-BT400. Que puis-je faire pour résoudre mes problèmes de connexion?

Répondre

0

Je résolu le problème comme celui-ci

 BluetoothDeviceInfo selecteddevice = bldialog.SelectedDevice; 
       if (selecteddevice.DeviceName.ToLower().Contains("iphone")) 
        serviceClass = BluetoothService.SerialPort; 
       else if (selecteddevice.DeviceName.ToLower().Contains("allview")) 
        serviceClass = new Guid("00001103-0000-1000-8000-00805f9b34fb"); 
       else serviceClass = BluetoothService.ObexFileTransfer; 

Aussi, si quelqu'un d'autre a une idée sur la façon dont je pouvais me connecter à mon galaxy tab je suis à l'écoute, je ne l'ai pas réussi à jumeler avec elle aussi .