Мой UUID действителен для смартфона Samsung J5, но не для моего Moverio BT-350. Почему? - PullRequest
1 голос
/ 07 ноября 2019

С 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;
}
...