С Unity (следовательно, в C #) я создал приложение для телефона Android, которое связывается через Bluetooth с окнами ПК. Проблема в том, что когда я запускаю apk на смартфоне Samsung j5, все нормально, когда вместо этого я запускаю тот же apk на другом телефоне или на Moverio BT-350 (который всегда Android), я не могу установить соединение Bluetooth иЯ получаю ошибку. Очевидно, что я меняю MAC-адрес Bluetooth устройства при переключении с одного устройства на другое. Что я не изменяю, так это UUID. На самом деле, я считаю, что проблема заключается в UUID. Но как мне это изменить? Как назначить действительный UUID?
Та же проблема, с которой я сталкиваюсь, пытаясь связать apk с очень тривиальной программой на C #, написанной в Visual Studio. Это также хорошо работает, если я ввожу MAC-адрес J5, но не если я ввожу MAC-адрес Moverio или другой ячейки.
Для простоты я сообщаю код Windows этого приложения.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using InTheHand.Net.Bluetooth;
using InTheHand.Net.Sockets;
using InTheHand.Net;
using System.IO;
namespace BluetoothForWindows
{
public partial class Form1 : Form
{
// this is the UUID, i have no problem with J5, but i have problem with Moverio
Guid mUUID = new Guid("c1db6770-a359-11e6-80f5-76304dec7eb7");
bool connect = false;
BluetoothClient client;
public Form1()
{
items = new List<string>();
InitializeComponent();
}
private void bGo_Click(object sender, EventArgs e)
{
client = new BluetoothClient();
updateUI("attempting connect");
// When I set the MAC address of J5, that is 14:9F:3C:92:12:06,
//I have no problem, when I set the MAC address of Moverio, that is 9C:AE:D3:74:83:D9,
//I have Connection Failed Error
BluetoothAddress address =
BluetoothAddress.Parse("9C:AE:D3:74:83:D9");
BluetoothEndPoint endPoint = new BluetoothEndPoint(address, mUUID);
client.Connect(endPoint);
updateUI("connect with success");
connect = true;
}