Я хочу отправить текст из моего приложения xamarin для Android в мое приложение uwp на raspberry pi 3. Также я хочу использовать программную панель из моего телефона Android в качестве удаленной клавиатуры для системы показателей.
The uwpПриложение - это система показателей, которую я сделал 2 года назад и до сих пор использую.Теперь я хочу разработать приложение для Android, которое я могу использовать в качестве пульта дистанционного управления для системы показателей.
Соединение и соединение по Bluetooth в порядке, но я борюсь с отправкой строк в приложение uwp.
Я попробовал несколько примеров через Интернет, включая этот на этом сайте.
Соединение Bluetooth между Xamarin-Android и UWP
Я попробовал этот код, но некоторый код не был распознан Visual Studio, как этот
uint messageLength = reader.RReadUint ();
, также я попробовал этот примери это было очень близко
https://www.hackster.io/patricia2/bluetooth-remote-control-android-for-windows-iot-devices-ed502d
Но часть Android сделана в Android Studio Java, и я хочу сделать приложение с xamarin Android.Но я использовал uwp часть этого кода, а затем код андроида образца чатов xamarin.
https://docs.microsoft.com/en-us/samples/xamarin/monodroid-samples/bluetoothchat/
, но почему-то это не работает
этоЯ должен отправить сообщение в 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);
}
}
, и это то, что я сейчас использую, чтобы получить сообщение в UWP на Raspberry Pi с Windows 10 iot core.
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;
}
}
ив этой строке я получаю сообщение об ошибке нехватки памяти
readLength = await reader.LoadAsync(currentLength);
Я надеюсь, что немного объяснил это, чтобы вы поняли, что мне нужно, и я надеюсь, что кто-то может помочь мне, пожалуйста.
isэто также возможно, когда соединение Bluetooth есть, что вы можете использовать softkeyboard на andoroid приложения, чтобы что-то типа в UWP приложения