读取蓝牙数据并将获取的消息发送到UI(Android& C#)

时间:2014-03-13 02:08:12

标签: c# android bluetooth

我的应用必须从蓝牙条形码阅读器获取数据。字符串数据应直接发送到虚拟键盘输入(或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的字符串。

  1. 我该怎么做?
  2. 我是否剥离了太多代码?我这样做了吗?
  3. 我可能需要使用自定义处理程序(和ObtainMessage方法) 但我真的很困惑在基本UI之外使用它们 事件。

0 个答案:

没有答案