在Acer Iconia B1上连接蓝牙时出错

时间:2013-03-08 21:43:15

标签: android bluetooth

感谢您查看我的问题。我在Arduino上使用RN42或HC05蓝牙模块开发了蓝牙应用程序。这将是一个我希望放在Play商店的应用程序。该应用程序似乎在大多数平板电脑上工作正常我已经检查过一个(我们想要使用的!)Acer Iconia B1。

我从logCat获得的错误是:

03-08 21:35:10.972: I/BluetoothSocket_MTK(2712): [JSR82] Bluetooth Socket Constructor
03-08 21:35:10.972: I/BluetoothSocket_MTK(2712): [JSR82] type=1 fd=-1 auth=false encrypt=false port=1
03-08 21:35:10.973: D/ActivityThread(1708): BDC-Calling finishReceiver: IIntentReceiver=41441d20
03-08 21:35:10.974: D/BTSocketService(402): [JSR82][Service] initSocket
03-08 21:35:10.974: I/BluetoothSocketService.cpp(402): [JSR82][JNI] initSocketNative +++.
03-08 21:35:10.974: I/BluetoothSocketService.cpp(402): [JSR82][JNI] initSocketNative: start to initialize socket.
03-08 21:35:10.975: I/BluetoothSocketService.cpp(402): [JSR82][JNI] type=1, auth=0, encrypt=0, port=1
03-08 21:35:10.975: I/BluetoothSocketService.cpp(402): [JSR82][JNI] initSocketNative: Initialize socket done.
03-08 21:35:10.975: E/BluetoothSocketService.cpp(402): [JSR82][JNI] No free context space; the APP has registered 20 services.
03-08 21:35:10.975: I/BluetoothSocketService.cpp(402): [JSR82][JNI] initSocketNative ---. fdHandle=0
03-08 21:35:10.975: D/Bluetooth(2712): ++++ Connecting to 00:12:05:22:95:84
03-08 21:35:10.975: D/BTSocketService(402): [JSR82][Service] connect
03-08 21:35:10.975: I/BluetoothSocketService.cpp(402): [JSR82][JNI] connectNative +++. fd=0.
03-08 21:35:10.975: E/BluetoothSocketService.cpp(402): [JSR82][JNI] connectNative: The FD (0) doesn't exist.
03-08 21:35:10.976: W/System.err(2712): java.io.IOException: [JSR82] connect: Connection is not created (failed or aborted).
03-08 21:35:10.976: W/System.err(2712):     at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:395)
03-08 21:35:10.976: W/System.err(2712):     at com.test.BluetoothConnection.connectBluetooth(BluetoothConnection.java:100)
03-08 21:35:10.977: W/System.err(2712):     at com.test.BluetoothCounter$1.run(BluetoothCounter.java:64)
03-08 21:35:10.977: W/System.err(2712):     at java.lang.Thread.run(Thread.java:856)
03-08 21:35:10.977: D/dalvikvm(2712): threadid=13: exiting
03-08 21:35:10.977: D/dalvikvm(2712): threadid=13: bye!

我的代码初始化蓝牙:

   public boolean connectBluetooth() throws Exception, Exception{
        BT = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(MacAddress);
        m = BT.getClass().getMethod("createInsecureRfcommSocket", new Class[] { int.class });
        mBluetoothAdapter.enable();
        sock = (BluetoothSocket) m.invoke(BT, 1);
        Log.d("Bluetooth", "++++ Connecting to " + MacAddress);
        sock.connect();
        Log.d("Bluetooth", "++++ Connected");
        connected = true;
        in = sock.getInputStream();
        return true;
    }

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

最有可能的是你要求Acer Iconia B1中没有的功能。

平板电脑要么与蓝牙2.1不兼容(第一次回答here),要么根本无法连接到“A2DP立体声耳机”以外的设备(最后发表here)。