如何在Android中使用蓝牙以编程方式配对和连接设备?

时间:2012-04-15 12:54:11

标签: android bluetooth

在StackOverflow上已经有很多关于如何配对&用android连接远程蓝牙设备。我已经尝试了所有这些,没有找到任何关于与远程设备配对的正确链接或文档。

同样关于我尝试以编程方式将我的笔记本电脑连接到android,但我收到了以下错误:

java.io.IOException: Service discovery failed
at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:395)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:209)

连接Android设备有很多参考,我遵循的是this。但它不适用于我的情况。我正在尝试连接我的vaio笔记本电脑,我有三星Galaxy S安卓设备。

如果有人知道如何配对以及以编程方式连接设备,请告诉我解决方案。

1 个答案:

答案 0 :(得分:1)

如果服务器实际上不可发现,您的客户端将永远不会发现服务器。您的服务器代码的评论说“确保设备可被发现”,但是监听套接字并不意味着该设备是可发现的。您可以通过调用:

使服务器可被发现
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);

Android开发指南中详细介绍了这一点:http://developer.android.com/guide/topics/wireless/bluetooth.html

您的应用程序必须在展示文件中具有以下蓝牙权限:

android.permission.BLUETOOTH_ADMIN
android.permission.BLUETOOTH