// 查找到设备和搜索完成action监听器
private BroadcastReceiver mReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
// 查找到设备action
if( BluetoothDevice.ACTION_FOUND.equals(action) )
{
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
mDevicesArrayAdapter.add(device.getName() + " " + device.getAddress());
/*if( device.getName().contains("HC-06") ) // 经常闪退,注释掉就没事了。
{
mBtAdapter.cancelDiscovery();
setProgressBarIndeterminateVisibility(false);
OnClickCloseScan( null );
}*/
}
else if( BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action) )
{
setProgressBarIndeterminateVisibility(false);
setTitle("选择要连接的设备");
if( mDevicesArrayAdapter.getCount() == 0 )
{
String noDevices = "没有找到新设备";
mDevicesArrayAdapter.add(noDevices);
}
}
}
};
可以把崩溃日志贴出来吗?
这个问题我遇到了,现分享一下解决办法。
当蓝牙扫描到只有MAC地址的蓝牙信号时,他的device.getname是Null
这是在判断contains就会出错。因此要先加一级null判断在contains外边
if(device.getname()!=null)
{
if( device.getName().contains("HC-06") )
{
......
}
}
相信你的也是这个问题