2015-10-14 120 views
0

我想要做一个简单的蓝牙连接使用Xamarin工作室。我的代码成功构建,但引发了Java.IO.IOExeption当我尝试连接蓝牙时。Xamarin Android,蓝牙连接不工作

这是我的代码片段。

BluetoothAdapter BluetoothAdapter1 = BluetoothAdapter.DefaultAdapter; 
    BluetoothSocket socket; 
    BluetoothDevice device 
    btnConnect.Click += async delegate { 
      if (BluetoothAdapter1 == null) 
      { 
       AlertDialog1.SetMessage("Device Does not support bluetooth"); 

       AlertDialog1.Show(); 
      } 


      if(!BluetoothAdapter1.IsEnabled) 
      { 
       AlertDialog1.SetMessage("Bluetooth is not enabled"); 
       AlertDialog1.Show(); 
      } 

      else{ 

       device = (from bd in BluetoothAdapter1.BondedDevices where bd.Name == "GT-N8000" select bd).FirstOrDefault(); 

       if(device == null) 
       { 
        AlertDialog1.SetMessage("Device Not Found \n Make sure you are paired to the bluetooth device"); 
        AlertDialog1.Show(); 

       } 

       else 
       { 
        ParcelUuid[] list = device.GetUuids(); 
        String MyUUID = list[0].ToString(); 



        try 
        { 
        socket = device.CreateRfcommSocketToServiceRecord(UUID.FromString(MyUUID)); 



         socket.Connect(); 
        btnConnect.Text = socket.RemoteDevice.Name; 

        socket.Close(); 
       } 

        catch (Exception e) 
        { 
         AlertDialog1.SetMessage(e.Message); 
         AlertDialog1.Show(); 
        } 


       } 
      } 

这是我的一些日志输出。

[Mono] Assembly Ref addref MatrixDisplay [0xb8da14b8] - > System.Core [0xb8e6b7e0]:3 [BluetoothAdapter] 584852085:getState()。返回12 [BluetoothAdapter] getBluetoothService()调用不带BluetoothManagerCallback [编舞]跳过了295帧!应用程序可能在其主线程上做了太多工作。由于删除了根视图,因此删除了事件:MotionEvent {action = ACTION_MOVE,id [0] = 0,x [0] = 599.4283,y [0] = 596.4481,toolType [0] = TOOL_TYPE_FINGER,buttonState = 0 ,metaState = 0,flags = 0x0,edgeFlags = 0x0,pointerCount = 1,historySize = 0,eventTime = 328245301,downTime = 328245292,deviceId = 1,source = 0x1002} [InputEventReceiver]试图完成一个输入事件,事件接收器已经处理完毕。 [InputEventReceiver]试图完成一个输入事件,但输入事件接收器已被处置。

+0

你确定清单许可已启用吗? – Kush

+0

是的我有必要的清单permision,蓝牙和bluetooth_admin ... – Ogbe

回答

0

我解决了这个问题,因为连接后不立即关闭套接字。