我已经打了我的智慧与这个。
我有一个典型的 BluetoothServerSocket,我正在尝试连接 A&D 体重秤 (UC-321PBT)。他们公司有一个应用程序 (myFitnessCompanion),它似乎没有很多连接问题,但只有当我的手机“可发现”时,秤才会连接到我的应用程序。请注意,这是在我与秤配对后。
这里真正需要的唯一关键代码是监听器的打开方式,除此之外它是典型的蓝牙
serverSocket = adapter.listenUsingRfcommWithServiceRecord("PWAccessP", UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
(我也试过listenUsingInsecureRfcommWithServiceRecord甚至反射来打开一个端口)
我从另一部手机询问我的手机蓝牙以获取 myFitnessCompanion 应用程序使用的“PWAccessP”值,甚至使用该应用程序来获取与我的手机配对的秤。
当我使手机可发现时,刻度将进入我的套接字侦听器,但除此之外,我看到 BluetoothDevice 开始进行低级连接监视意图“BluetoothDevice.ACTION_ACL_CONNECTED”,但除非我的手机处于可发现模式,否则它将不触发我的服务器套接字的 'accept()' 方法。配对屏幕不会出现在新连接上。
任何帮助,将不胜感激。考虑到我必须让手机“可发现”才能在我的应用程序中发生连接,而 myFitnessCompanion 在配对后随时允许连接,我看不出 myFitnessCompanion 是如何解决这个问题的。
提前致谢。