Reputation: 1751
I am trying to do a simple bluetooth connection Using Xamarin studio. My code builds sucessfully but raises a Java.IO.IOExeption When I try to connect the bluetooth.
This is a snippet from my code.
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();
}
}
}
This is some of my Output from the log.
[Mono] Assembly Ref addref MatrixDisplay[0xb8da14b8] -> System.Core[0xb8e6b7e0]: 3 [BluetoothAdapter] 584852085: getState(). Returning 12 [BluetoothAdapter] getBluetoothService() called with no BluetoothManagerCallback [Choreographer] Skipped 295 frames! The application may be doing too much work on its main thread. [ViewRootImpl] Dropping event due to root view being removed: 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] Attempted to finish an input event but the input event receiver has already been disposed. [InputEventReceiver] Attempted to finish an input event but the input event receiver has already been disposed.
Upvotes: 0
Views: 965
Reputation: 1751
I solved this by not closing the socket immediately after connecting.
Upvotes: 0