使用xamarin android通过蓝牙将消息发送至uwp for windows 10 iot core

使用xamarin android通过蓝牙将消息发送至uwp for windows 10 iot core,uwp,bluetooth,xamarin.android,raspberry-pi3,windows-10-iot-core,Uwp,Bluetooth,Xamarin.android,Raspberry Pi3,Windows 10 Iot Core,我想用raspberry pi 3从我的xamarin android应用程序向我的uwp应用程序发送文本。此外,我还想使用android手机上的软键盘作为scorebord系统的远程键盘 uwp应用程序是一个scorebord系统,我两年前制作的,现在仍在使用它。现在我想在android上开发一个应用程序,我可以用它作为scorebord系统的遥控器 蓝牙配对和连接正常,但我正在努力向uwp应用程序发送字符串 我在互联网上尝试了几个例子,包括这个网站上的例子 我尝试了此代码,但visual

我想用raspberry pi 3从我的xamarin android应用程序向我的uwp应用程序发送文本。此外,我还想使用android手机上的软键盘作为scorebord系统的远程键盘

uwp应用程序是一个scorebord系统,我两年前制作的,现在仍在使用它。现在我想在android上开发一个应用程序,我可以用它作为scorebord系统的遥控器

蓝牙配对和连接正常,但我正在努力向uwp应用程序发送字符串

我在互联网上尝试了几个例子,包括这个网站上的例子

我尝试了此代码,但visual studio无法像这样识别某些代码

uint messageLength = reader.RReadUint ();
我也试过这个例子,结果非常接近

但是android部分是在android studio java中制作的,我想用xamarin android制作一个应用程序。但是我使用了这段代码的uwp部分,然后是XamarinAndroid聊天示例的android代码

但不知何故,它不起作用

这是我必须用安卓系统发送的消息

void SendMessage(String message)
    {

        if (message.Length > 0)
        {
            var bytes = Encoding.ASCII.GetBytes(message);
            write(bytes)
        }
    }

public void Write(byte[] buffer)
        {
            try
            {
                outStream.Write(buffer, 0, buffer.Length);
            }
            catch (Java.IO.IOException e)
            {
                Log.Error(TAG, "Exception during write", e);
            }
        }
这就是我现在用Windows10IoT内核在raspberry pi上用uwp接收信息的方法

while (true)
        {
            try
            {
                uint readLength = await reader.LoadAsync(sizeof(uint));

                if (readLength < sizeof(uint))
                {
                    remoteDisconnection = true;
                    break;
                }

                var currentLength = reader.ReadUInt32();

                readLength = await reader.LoadAsync(currentLength);

                if (readLength < currentLength)
                {
                    remoteDisconnection = true;
                    break;
                }
                string message = reader.ReadString(currentLength);

                Debug.Write("Received: " + message);
            }
            // Catch exception HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED).
            catch (Exception ex) when ((uint)ex.HResult == 0x800703E3)
            {
                Debug.Write("Client Disconnected Successfully");
                break;
            }
        }
在android示例中,他们使用此代码来发送消息,它可以正常工作,但在xamarin android中如何发送

ByteBuffer bb = ByteBuffer.allocate(4 + command.Length).putInt(command.Length).put(command.GetBytes());

                mmOutStream.WriteByte(bb.array());
                mmOutStream.Flush();
我希望我能解释一下,让你明白我需要什么,我希望有人能帮助我


当蓝牙连接存在时,您是否也可以使用Android应用程序上的软键盘在uwp应用程序中键入内容

您是否在PC上测试了uwp应用程序,以检查其在桌面上是否工作?我尝试过几次,在raspberry pi上,它因内存不足而崩溃,在PC上它只是挂起,如果我安装了示例的android应用程序,那么它就可以完美运行。但是我想在xamarin实现它,但我不知道如何使用端口i。您是否尝试使用它发送数据?这个插件是一个Xamarin插件,可以在Android和iOS上访问蓝牙低能耗功能。我试过了,但对我来说有点困难。我试过这个样本,但我不明白,我无法连接到我的pi。
ByteBuffer bb = ByteBuffer.allocate(4 + command.Length).putInt(command.Length).put(command.GetBytes());

                mmOutStream.WriteByte(bb.array());
                mmOutStream.Flush();