我正在通过应用程序将客户端蓝牙设备与我的手机配对。现在我在异步任务中使用以下代码来尝试为远程设备创建套接字。
try{
ba.cancelDiscovery();
socket= blud.createRfcommSocketToServiceRecord(uuid);
Method m = blud.getClass().getMethod("createRfcommSocket", new
Class[] {int.class});
socket = (BluetoothSocket) m.invoke(blud, 1);
}catch(Exception e){e.printStackTrace();}
我不知道我是否需要更多地遵循 BluetoothChat 示例,其中我有一个连接线程和一个接受线程,或者异步任务是否足够。
这是我使用的 UUID 字符串 00001101-0000-1000-8000-00805F9B34FB 我操作的顺序是我在服务器端监听,一旦我尝试打开蓝牙设备的套接字,我尝试连接但最终得到一个权限被拒绝的 IO 异常
最佳答案
您需要在 list 中请求蓝牙权限和 BLUETOOTH_ADMIN 权限 正如 Android API 所提到的那样 here
“注意:大多数方法需要 BLUETOOTH 权限,有些还需要 BLUETOOTH_ADMIN 权限。”
关于android - 在 android 中配对蓝牙设备的正确顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057704/