Android到蓝牙连接仅适用于android调试器,但不适用于发布/运行模式

时间:2015-10-22 01:52:02

标签: android bluetooth rfcomm pybluez

如标题中所述,我的蓝牙套接字只有在调试器中运行时才会建立连接。当我在connect()上放置一个断点时,它会在我跨过大约需要一秒钟连接时连接。当我尝试在发布中运行时,它会立即抛出一个IOexception,指出从套接字读取失败。我正在运行android 5.1.1

尝试连接的代码

BtCommThread(BluetoothDevice btDevice, BluetoothInterface btInterface) throws IOException {//let caller handle Exception with constructor
    callbacks = btInterface;
    device = btDevice;
    socket = device.createRfcommSocketToServiceRecord(BluetoothService.uuid);
    socket.connect();//attempt connection
    input = new BufferedReader(new InputStreamReader(socket.getInputStream()));//get input
    output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));//get output
}

什么可能导致蓝牙套接字仅在调试器中工作?我已经实现了一个重试构建我的BtCommThread并连接套接字的服务,如果它最多失败十次。我还尝试在连接之前添加一个简单的线程睡眠,认为它可能是一个计时问题。我真的很茫然。

有没有人知道可能会有什么帮助?

硬件信息

Android手机:Google Nexus 5

Linux系统:运行debian armhf的Udoo MCU

0 个答案:

没有答案