android - 在 android 中配对蓝牙设备的正确顺序是什么?

标签 android bluetooth

我正在通过应用程序将客户端蓝牙设备与我的手机配对。现在我在异步任务中使用以下代码来尝试为远程设备创建套接字。

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/

相关文章:

android - 断开 USB 电缆时完成 Activity

android picasso 清除缓存

ios - 从 NSData 创建 ENUM

android - 蓝牙对等连接重置

android - 如何以编程方式将 A2DP 从移动设备连接到接收设备?

java - android 将日期转换为时间戳

android - 为什么我的 FloatingActionButton 即使在静止状态下也有涟漪效应?

android - 将弹出菜单设置为全屏

ios - 蓝牙:如何让 ios 尝试 "App Not Installed"

android - 使用 PhoneGap 从 Android 打印到移动蓝牙打印机