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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐