android 获取蓝牙各种连接状态
程序员文章站
2022-06-14 23:04:44
...
蓝牙之间的配对及连接
//蓝牙已打开
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);
}
推荐阅读
-
Android如何获取系统通知的开启状态详解
-
Android开发中使用外部应用获取SD卡状态的方法
-
android检测网络连接状态示例讲解
-
Android开发实现实时检测蓝牙连接状态的方法【附源码下载】
-
Android实现蓝牙的搜索,配对(不需要输入PIN,自动匹配),连接,通信
-
Android-蓝牙的网络共享与连接分析
-
Android实现蓝牙(BlueTooth)设备检测连接
-
荐 【Android 电量优化】电量优化 ( 网络状态获取 | 主动获取 WIFI 状态 | 被动获取 WIFI 状态 )
-
Android P 通话中蓝牙耳机连接时候音频通道选择弹出框
-
Android获取当前已连接的wifi信号强度的方法