我正在使用bluez-ime代码作为参考(用于蓝牙连接)。 (https://code.google.com/p/android-bluez-ime/)
我无法通过蓝牙成功连接到PS4控制器。 有没有人成功地做到了这一点? 当我在socket.connect函数之后查看logcat时,我一直拒绝连接。
我需要特定的PS4 UUID吗? (尝试了getUuids和fetchUuidsWithSdp来获取设备的UUID,但没有成功..)
我尝试使用bluetoothviewer应用程序(在Play商店中)只是为了看它是否能够连接到控制器,但这不起作用。
(只是为了澄清,控制器和Android设备配对,控制器的LED指示灯亮起)
有什么想法吗?
来自logcat
的相关部分:
D/BluetoothViewer( 5799): onActivityResult -1
D/BluetoothChatService( 5799): connect to: 1C:66:6D:10:74:94
V/BluetoothSocket.cpp( 5799): initSocketNative
V/BluetoothSocket.cpp( 5799): ...fd 39 created (RFCOMM, lm = 26)
V/BluetoothSocket.cpp( 5799): initSocketFromFdNative
V/BluetoothSocket.cpp( 5799): initSocketNative
V/BluetoothSocket.cpp( 5799): ...fd 55 created (RFCOMM, lm = 26)
V/BluetoothSocket.cpp( 5799): initSocketFromFdNative
I/BluetoothChatService( 5799): BEGIN mConnectThread
D/BluetoothChatService( 5799): setState() 0 -> 2
E/BluetoothViewer( 5799): + ON RESUME +
V/BluetoothService.cpp(22186): stopDiscoveryNative
E/BluetoothService.cpp(22186): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
I/BluetoothPolicyService(22186): getBluetoothDataTransferAllowed
I/BluetoothViewer( 5799): MESSAGE_STATE_CHANGE: 2
D/BluetoothPolicyService(22186): MDM: isProfileEnabled = true
V/BluetoothSocket.cpp( 5799): connectNative
V/BluetoothSocket.cpp( 5799): ...connect(55, RFCOMM) = 111 (errno 111)
W/System.err( 5799): java.io.IOException: Connection refused
W/System.err( 5799): at android.bluetooth.BluetoothSocket.connectNative(Native Method)
W/System.err( 5799): at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:243)
W/System.err( 5799): at net.bluetoothviewer.BluetoothChatService$ConnectThread.run(BluetoothChatService.java:244)
D/KeyguardViewMediator(22186): setHidden false
D/BluetoothChatService( 5799): setState() 2 -> 0
V/BluetoothSocket.cpp( 5799): abortNative
V/BluetoothSocket.cpp( 5799): ...asocket_abort(55) complete
V/BluetoothSocket.cpp( 5799): destroyNative
V/BluetoothSocket.cpp( 5799): ...asocket_destroy(55) complete
I/BluetoothViewer( 5799): MESSAGE_STATE_CHANGE: 0
答案 0 :(得分:2)
PS4控制器使用HID配置文件进行连接。但是从你的日志上面我看到它正在尝试RFCOMM连接。由于HID位于L2CAP之上,而不是RFCOMM,因此拒绝连接。
如果您倾向于制作应用,请尝试从HID服务启动连接以完成HID连接。