蓝牙之间的配对及连接
//蓝牙已打开
if(mAdapter.isEnabled()){
int a2dp = mAdapter.getProfileConnectionState(BluetoothProfile.A2DP); // 可操控蓝牙设备,如带播放暂停功能的蓝牙耳机
int headset = mAdapter.getProfileConnectionState(BluetoothProfile.HEADSET); // 蓝牙头戴式耳机,支持语音输入输出
int health = mAdapter.getProfileConnectionState(BluetoothProfile.HEALTH); // 蓝牙穿戴式设备
int GATT = mAdapter.getProfileConnectionState(BluetoothProfile.GATT);
Log.e("lqq","a2dp="+a2dp+",headset="+headset+",health="+health);
// 查看是否蓝牙是否连接到三种设备的一种,以此来判断是否处于连接状态还是打开并没有连接的状态
int flag = -1;
if (a2dp == BluetoothProfile.STATE_CONNECTED) {
flag = a2dp;
} else if (headset == BluetoothProfile.STATE_CONNECTED) {
flag = headset;
} else if (health == BluetoothProfile.STATE_CONNECTED) {
flag = health;
}
if (flag != -1) {
setBtState(BluetoothAdapter.STATE_CONNECTED);
} else if (flag == -1) {
//蓝牙手机相互配对连接
NetworkInfo netInfo = ((ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_BLUETOOTH);
if (netInfo == null) {
setBtState(BluetoothAdapter.STATE_ON); // discontinued
} else {
setBtState(BluetoothAdapter.STATE_CONNECTED); // 系统内部,返回连接与否
}
}
} else {
setBtState(BluetoothAdapter.STATE_OFF);
}