使用xamarin android通过蓝牙将消息发送至uwp for windows 10 iot core
我想用raspberry pi 3从我的xamarin android应用程序向我的uwp应用程序发送文本。此外,我还想使用android手机上的软键盘作为scorebord系统的远程键盘 uwp应用程序是一个scorebord系统,我两年前制作的,现在仍在使用它。现在我想在android上开发一个应用程序,我可以用它作为scorebord系统的遥控器 蓝牙配对和连接正常,但我正在努力向uwp应用程序发送字符串 我在互联网上尝试了几个例子,包括这个网站上的例子 我尝试了此代码,但visual studio无法像这样识别某些代码使用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
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();