失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android 连接已配对蓝牙耳机 连接/配对蓝牙耳机和Android

android 连接已配对蓝牙耳机 连接/配对蓝牙耳机和Android

时间:2022-08-24 08:23:32

相关推荐

android 连接已配对蓝牙耳机 连接/配对蓝牙耳机和Android

我想创建一个简单的程序,扫描蓝牙耳机(我正在测试一个PS3耳机),然后连接到它。我正在使用bluetooth chat program example中的代码。但是我无法将它连接到任何东西。当它到达connect()时它给我一个I/O异常。连接/配对蓝牙耳机和Android

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

此线程在尝试与设备建立传出连接时运行。它贯穿始终;连接成功或失败。

private class ConnectThread extends Thread {

private final BluetoothSocket mmSocket;

private final BluetoothDevice mmDevice;

public ConnectThread(BluetoothDevice device) {

mmDevice = device;

BluetoothSocket tmp = null;

// Get a BluetoothSocket for a connection with the given BluetoothDevice

try {

tmp = device.createRfcommSocketToServiceRecord(MY_UUID);

} catch (IOException e) {

Log.e(TAG, "create() failed", e);

}

if (tmp == null){

Log.i(TAG, "tmp is NULL");

}

mmSocket = tmp;

}

public void run() {

Log.i(TAG, "BEGIN mConnectThread");

setName("ConnectThread");

// Always cancel discovery because it will slow down a connection

mAdapter.cancelDiscovery();

Log.i(TAG, "discovery is cancelled");

// Make a connection to the BluetoothSocket

try {

// This is a blocking call and will only return on a successful connection or an exception

mmSocket.connect(); //Doesn't like something here???

} catch (IOException e) {

Log.e(TAG, "IO error, ", e);

connectionFailed();

// Close the socket

try {

mmSocket.close();

} catch (IOException e2) {

Log.e(TAG, "unable to close() socket during connection failure", e2);

}

// Start the service over to restart listening mode

newTBluetoothService.this.start();

return;

}

// Reset the ConnectThread because we're done

synchronized (newBluetoothService.this) {

mConnectThread = null;

}

// Start the connected thread

connected(mmSocket, mmDevice);

}

public void cancel() {

try {

mmSocket.close();

} catch (IOException e) {

Log.e(TAG, "close() of connect socket failed", e);

}

}

}

这里是logcat的:

10-13 16:07:45.544: ERROR/BluetoothService.cpp(1259):

stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)

10-13 16:07:45.544: DEBUG/newBluetoothService(2821): connect to: 00:22:A6:07:12:2B

10-13 16:07:45.544: DEBUG/newBluetoothService(2821): setState() 0 -> 2

10-13 16:07:45.552: INFO/newBluetoothService(2821): BEGIN mConnectThread

10-13 16:07:45.567: ERROR/BluetoothService.cpp(1259): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)

10-13 16:07:45.567: INFO/newBluetoothService(2821): discovery is cancelled

10-13 16:07:45.575: ERROR/BluetoothEventLoop.cpp(1259): onCreateDeviceResult: D-Bus error: org.bluez.Error.AlreadyExists (Device already exists)

10-13 16:07:45.583: INFO/BluetoothNew(2821): MESSAGE_STATE_CHANGE: 2

10-13 16:07:46.700: ERROR/BluetoothEventLoop.cpp(1259): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/2872/hci0/dev_00_22_A6_07_12_2B

10-13 16:07:47.036: DEBUG/BluetoothService(1259): updateDeviceServiceChannelCache(00:22:A6:07:12:2B)

10-13 16:07:47.059: DEBUG/BluetoothService(1259): uuid(system): 0000111e-0000-1000-8000-00805f9b34fb 1

10-13 16:07:47.067: DEBUG/BluetoothService(1259): uuid(system): 00001108-0000-1000-8000-00805f9b34fb 2

10-13 16:07:47.075: VERBOSE/BluetoothEventRedirector(1786): Received android.bleutooth.device.action.UUID

10-13 16:07:47.075: DEBUG/BluetoothService(1259): Cleaning up failed UUID channel lookup: 00:22:A6:07:12:2B 00001101-0000-1000-8000-00805f9b34fb

10-13 16:07:47.083: ERROR/newBluetoothService(2821): IO error,

10-13 16:07:47.083: ERROR/newBluetoothService(2821): java.io.IOException: Service discovery failed

10-13 16:07:47.083: ERROR/newBluetoothService(2821): at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:377)

10-13 16:07:47.083: ERROR/newBluetoothService(2821): at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:201)

10-13 16:07:47.083: ERROR/newBluetoothService(2821): at com.nmtransfer.bluetooth.newBluetoothService$ConnectThread.run(newBluetoothService.java:347)

10-13 16:07:47.083: INFO/newBluetoothService(2821): Connection Failed

10-13 16:07:47.083: DEBUG/newBluetoothService(2821): setState() 2 -> 1

10-13 16:07:47.083: DEBUG/newBluetoothService(2821): start

10-13 16:07:47.083: INFO/BluetoothNew(2821): MESSAGE_STATE_CHANGE: 1

10-13 16:07:47.098: DEBUG/BluetoothService(1259): new handle 1000d

10-13 16:07:47.106: DEBUG/newBluetoothService(2821): setState() 1 -> 1

10-13 16:07:47.106: DEBUG/newBluetoothService(2821): BEGIN mAcceptThreadThread[Thread-

13,5,main]

10-13 16:07:47.114: INFO/BluetoothNew(2821): MESSAGE_STATE_CHANGE: 1

10-13 16:07:51.036: ERROR/BluetoothEventLoop.cpp(1259): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/2872/hci0/dev_00_22_A6_07_12_2B

10-13 16:07:53.583: VERBOSE/BluetoothEventRedirector(1786): Received android.bleutooth.device.action.UUID

任何帮助深表感谢。

谢谢 克里斯

+0

我正在使用2.2更新版和PS3蓝牙耳机在Droid X上进行测试。它正在配对,但不会连接。当我进入蓝牙设置时,我可以手动连接耳机。 –

-10-14 17:02:27

如果觉得《android 连接已配对蓝牙耳机 连接/配对蓝牙耳机和Android》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。