我的应用必须从蓝牙条形码阅读器获取数据。字符串数据应直接发送到虚拟键盘输入(或EditText字段)。
我是C#家伙,我在Xamarin Studio工作。但是关于Android的所有代码示例都是用Java编写的。所以通常我需要转换代码片段以将它们实现到我的应用程序中。
关于蓝牙互动的最可靠代码是the official guide。所以我转换它。
我还检查并从Bluetooth Chat example in C#获取了一些代码。但它过于复杂和广泛。
我设法配对并连接设备,我得到了输入流数据。阅读它,这是我制作的方法:
public void BTOku(Stream veri) {
byte[] buffer = new byte[1024];
int bytes;
while (true) {
try {
bytes = veri.Read(buffer, 0, buffer.Length);
byte[] readBuf = (byte[]) buffer;
var readMessage = new Java.Lang.String (readBuf, 0, bytes);
//Console.WriteLine (readMessage);
} catch {
//break;
}
}
}
我按照建议在新线程上运行此方法。 " readMessage"是我想直接发送到键盘和/或焦点EditText的字符串。