android获取蓝牙的扫描状态,安卓获取蓝牙状态

笔者最近一直在做蓝牙状态获取方面的事情,总结出一套获取蓝牙状态的代码,分享如下:

private BluetoothAdapter ba ; //蓝牙适配器

ba = BluetoothAdapter.getDefaultAdapter();

//蓝牙适配器是否存在,即是否发生了错误

if (ba == null){

isBlueCon = -1; //error

}

else if(ba.isEnabled()){

int a2dp = ba.getProfileConnectionState(BluetoothProfile.A2DP);//可操控蓝牙设备,如带播放暂停功能的蓝牙耳机

int headset = ba.getProfileConnectionState(BluetoothProfile.HEADSET);//蓝牙头戴式耳机,支持语音输入输出

int health = ba.getProfileConnectionState(BluetoothProfile.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){

isBlueCon = 1;//discontinued

}

else if (flag == -1){

NetworkInfo netInfo = cm.getNetworkInfo(ConnectivityManager.TYPE_BLUETOOTH);

if (netInfo == null) {

isBlueCon = 1;//discontinued

}

else {

State blt = netInfo.getState();

isBlueCon = getDevState(blt); //系统内部,返回连接与否

}

}

}

else {

isBlueCon = 2;//shut off

}

public static enum State {

CONNECTED,

CONNECTING,

DISCONNECTED,

DISCONNECTING,

SUSPENDED,

UNKNOWN;

private State() {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值