我有一个连接到我的Android应用程序的串行蓝牙设备。它工作得很好,但只有在设备开启时..
当我的蓝牙设备(“Gps_3.3v_4800”)设备关闭时,我的应用程序在启动时崩溃。有没有办法看看它是否开启?或者无论如何要防止我的应用程序崩溃。
for (BluetoothDevice device : pairedDevices) {
btDevice[i] = device.getName();
System.out.println(device.getName() + device.getAddress() + " \n");
// Connect to my device
if(device.getName().equalsIgnoreCase("Gps_3.3v_4800")) {
Thread ct = new ConnectThread(device, mBluetoothAdapter);
isct = new ConnectedThread(((ConnectThread) ct).getSocket());
((ConnectedThread)isct).setJavascript(javascr);
((ConnectedThread)isct).write("hallo");
isct.start();
}
}
设备未开启时出现错误:
致命信号11(SIGSEGV)位于0x00000008(代码= 1),线程3928(线程-4174)
更新 现在我得到一个空指针 (java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.hellobt / com.example.hellobt.MainActivity}: 显示java.lang.NullPointerException) 试图在它不连接时停止线程..
答案 0 :(得分:0)
通过检查解决了问题:
如果(mmSocket.isConnected())强>
我认为手机与其他设备连接时只会出现问题。但对我来说还可以。
谢谢大家。