2
我一直與Monodroid工作了幾天,仍然無法弄清楚如何通過藍牙發送命令。MonoDroid藍牙
這是我的情況:我有一臺使用Android 2.1+的平板電腦/手機,需要向藍牙打印機發送和接收數據(以字節爲單位)。
我管理至今:
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中編譯並工作的。 主要區別在於,我有一個.dll溝通,並在單聲道,不會工作。 我的問題是發送命令,並看到與打印機發生的事情,而不使用.dll – Gh0stman