1. 蓝牙状态是否连接:
public static boolean isBTConnected(){ BluetoothAdapter blueadapter = BluetoothAdapter.getDefaultAdapter(); //adapter也有getState(), 可获取ON/OFF...其它状态 int a2dp = blueadapter.getProfileConnectionState(BluetoothProfile.A2DP); //可操控蓝牙设备,如带播放暂停功能的蓝牙耳机 int headset = blueadapter.getProfileConnectionState(BluetoothProfile.HEADSET); //蓝牙头戴式耳机,支持语音输入输出 int health = blueadapter.getProfileConnectionState(BluetoothProfile.HEALTH); return blueadapter != null && (a2dp == BluetoothAdapter.STATE_CONNECTED || headset == BluetoothAdapter.STATE_CONNECTED || health == BluetoothAdapter.STATE_CONNECTED); }
2. 蓝牙变化监听:
filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED); //filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED); registerReceiver(wifiReceiver, filter); //onReceive: else if(action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)){ int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); boolean enabled = (state == BluetoothAdapter.STATE_ON); }else if(action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)){ int status = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE, BluetoothAdapter.STATE_DISCONNECTED); btConnected = (status == BluetoothAdapter.STATE_CONNECTED); }
感谢:
http://blog.csdn.net/memoryjs/article/details/42968823