2011-04-23 99 views
5

我想发起一个配对请求(在这个时间点不是连接)到一个非android设备。这可以在设置应用程序>网络>蓝牙设置>扫描后单击设备上找到。两个设备上都会弹出一个6位数的引脚。Android蓝牙 - 如何发起配对

按照Android的文档,这应该已经在我的应用程序弹出还有,如果我做这样的事情

device.createRfcommSocketToServiceRecord(MY_UUID); 

按照Android的API文档

“一旦连接而成,具有 第一次远程设备, 配对请求自动 呈现给用户。“

而且它也提到了

“目前Android蓝牙API的 需要可以建立一个 RFCOMM连接之前配对的设备。 (当您启动配对自动执行 加密的 与蓝牙API的连接)。“

即使当我使用示例蓝牙聊天应用程序(仅用于测试它是否在第一次连接时启动配对),它不起作用。

我也试过使用通用的UDID,如“00001101-0000-1000-8000-00805F9B34FB”,但无济于事。

找不到设置应用程序(Android OS 2.1)的源代码来找出我自己。 Android GIT中的可用来源为Android 2.3

即使您无法回答该问题,只需指出适用于Android 2.1的Android程序包设置应用程序源代码即可解决问题。

回答

3

它适用于我的这个UUID:“00001101-0000-1000-8000-00805F9B34FB”。 如果我没有记错,当您调用socket.connect()时,会启动配对请求的意图。

+0

它最终为我工作时,我删除了应用程序,并从两个设备(我手动创建)删除配对。不知道什么是错误的,可能是我尝试了太多的东西来使它工作。 – 2011-04-25 16:42:00

+2

@ roly出于好奇:UUID从哪里来? – AgentKnopf 2012-02-17 14:30:31

+4

@Zainodis在这里引用d.android.com:[链接](http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createInsecureRfcommSocketToServiceRecord(java.util.UUID))(作为提示) – roly 2012-06-20 13:36:39