蓝牙耳机的连接错误
mora 2011-10-10 11:01:34 蓝牙耳机与手机配对并连接好后会显示“已连接到手机和媒体音频”的提示信息,此时播放音乐和接听电话都可以从蓝牙耳机出来,接着手机重启后蓝牙耳机与手机自动配对只成功连接到媒体音频,显示"已连接到媒体音频",此时播放音乐可以从蓝牙耳机出音但接听电话是从receiver出音的。从log看是在android_bluetooth_headsetbase.cpp的waitForAsyncConnectNative()出错了。
01-01 09:32:00.690 I/BT HSHFP( 202): waitForAsyncConnectNative function start connectAysncNative
01-01 09:32:00.690 I/BT HSHFP( 202): Created RFCOMM socket fd 71.
01-01 09:32:00.690 I/BT HSHFP( 202): connectAsyncNative: connect to bt-headset channel=1 addr=00:0B:E4:A9:CC:CA
01-01 09:32:00.690 I/BT HSHFP( 202): async connect is in progress (Operation now in progress)
01-01 09:32:00.770 I/BT HSHFP( 202): waitForAsyncConnectNative: select() result=2 timeout=500 set_read=1 set_write=1
01-01 09:32:00.770 I/BT HSHFP( 202): waitForAsyncConnectNative: read() result=-1 read=0 error:Connection refused (111)
01-01 09:32:00.770 E/BT HSHFP( 202): RFCOMM async connect() error: Connection refused (111), nr = -1
01-01 09:32:00.770 I/BT HSHFP( 202): Trying to connect to rfcomm socket result=-111
01-01 09:32:00.770 D/BT HSHFP( 202): RFCOMM connection attempt took 1173 ms
01-01 09:32:00.770 W/BT HSHFP( 202): headset.waitForAsyncConnect() error: -111
01-01 09:32:00.770 D/BT HSHFP( 202): Rfcomm error
log如上面所示,select()的返回结果就和期望的不一样了,code上有注释返回结果为1才是正确的,但这里的结果确实2,难道是fdset_read与fdset_write都被设置后的结果么,结果为1时只有fdset_write会被设置过。
请问有谁碰上过这样的问题吗,是什么原因造成的呢,如何解决?