目前我正试图在我的Nexus 7(2012)上使用Android 4.3(Build JWR66Y,我猜第二次4.3更新)打开BluetoothSocket时遇到一个奇怪的异常.我已经看到了一些相关的帖子(例如/sf/ask/955386141/),但似乎没有提供此问题的解决方法.此外,正如在这些线程中所建议的那样,重新配对没有帮助,并且不断尝试连接(通过愚蠢的循环)也没有任何效果.
我正在处理嵌入式设备(noname OBD-II车载适配器,类似于http://images04.olx.com/ui/15/53/76/1316534072_254254776_2-OBD-II-BLUTOOTH-ADAPTERSCLEAR-CHECK-ENGINE-灯光与你的电话-Oceanside.jpg).我的Android 2.3.7手机连接没有任何问题,同事的Xperia(Android 4.1.2)也可以使用.另一个Google Nexus(我不知道'One'或'S',但不是'4')也因Android 4.3而失败.
这是连接建立的片段.它在自己的Thread中运行,在Service中创建.
private class ConnectThread extends Thread {
private static final UUID EMBEDDED_BOARD_SPP = UUID
.fromString("00001101-0000-1000-8000-00805F9B34FB");
private BluetoothAdapter adapter;
private boolean secure;
private BluetoothDevice device;
private List<UUID> uuidCandidates;
private int candidate;
protected boolean started;
public ConnectThread(BluetoothDevice device, boolean secure) {
logger.info("initiliasing connection to device "+device.getName() +" / "+ device.getAddress());
adapter = BluetoothAdapter.getDefaultAdapter();
this.secure = secure;
this.device = device;
setName("BluetoothConnectThread");
if (!startQueryingForUUIDs()) {
this.uuidCandidates = Collections.singletonList(EMBEDDED_BOARD_SPP);
this.start();
} …Run Code Online (Sandbox Code Playgroud)