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