2
나는 Monodroid를 며칠 동안 사용해 왔지만 여전히 Bluetooth를 통해 명령을 보내는 방법을 알 수 없습니다.MonoDroid Bluetooth
이것은 나의 시나리오입니다. Android 2.1 이상에서 작동하는 태블릿/핸드폰이 있고 데이터를 Bluetooth 프린터로 보내고받을 필요가 있습니다 (바이트 단위).
내가 지금까지 관리하는 것 : 제대로 수행과using Android.Bluetooth; // library necessary
BluetoothAdapter bth = BluetoothAdapter.DefaultAdapter;
if (!bth.IsEnabled)
bth.Enable();
ICollection<BluetoothDevice> bthD = bth.BondedDevices;
foreach (BluetoothDevice d in bthD)
{
if (d.Name == "DPP-350")
{
Java.Util.UUID UUID = Java.Util.UUID.FromString("00001101-0000-1000-8000-00805F9B34FB");
// Get the BLuetoothDevice object
BluetoothSocket s = d.CreateRfcommSocketToServiceRecord(UUID);
s.Connect();
// Try to send command
...
s.Close()
}
}
이 프로그램은, 페어링 정보를 요청합니다. 나는 명령을 전송하는 방법에는 여러 가지 시도 :
// the command
// Self_Test = Chr(27) + Chr(84) = ESC T
byte[] dBytes = System.Text.Encoding.GetEncoding(1252).GetBytes(Self_Test);
// wont work
new Java.IO.ObjectOutputStream(s.OutputStream).Write(dBytes);
// wont work
System.IO.Stream st = s.OutputStream;
if (st.CanWrite)
{
st.Write(dBytes, 0, dBytes.Length);
st.Flush();
}
// wonk work
s.OutputStream.Write(dBytes, 0, dBytes.Length);
s.OutputStream.Flush();
이 없음 오류가 발생하지 않습니다를. 여기에 옵션이 부족합니다 ...
미리 감사드립니다!
'디버그'블루투스 기기와 페어링하여 데이터를 전혀 전송하지 않는 방법이 있습니까? 오류가 무엇인지 그리고 오류가 어디에서 발생했는지 아는 것이 아니라 수정하는 것이 어렵습니다. – jonp
아니요, 없습니다. 그러나 동일한 프로그램은 WM 6.x를 구축하고 작동합니다. 가장 큰 차이점은 WM에서는 통신 할 수있는 .dll과 작동하지 않는 Mono가 있다는 것입니다. 내 문제는 단지 명령을 보내고 .dll을 사용하지 않고 프린터에서 일어나는 일이 발생하는 것입니다. – Gh0stman