// 获得BluetoothAdapter对象
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
int s = bluetoothAdapter.getState();
Log.d("蓝牙状态值:", String.valueOf(s)); // 12
一、蓝牙开关状态值:
(1)蓝牙开启:int STATE_ON,值为12,蓝牙模块处于开启状态;
(2)蓝牙开启中:int STATE_TURNING_ON,值为11,蓝牙模块正在打开;
(3)蓝牙关闭:int STATE_OFF,值为10,蓝牙模块处于关闭状态;
(4)蓝牙关闭中:int STATE_TURNING_OFF,值为13,蓝牙模块正在关闭;
蓝牙开关状态顺序:STATE_OFF --> STATE_TURNING_ON --> STATE_ON --> STATE_TURNING_OFF --> STATE_OFF。
二、蓝牙扫描状态值:
// 获取蓝牙扫描状态值
int blueScanMode = bluetoothAdapter.getScanMode();
Log.d("蓝牙扫描模式:", String.valueOf(blueScanMode)); // 21:查询扫描失败,页面扫描有效
// 20:查询扫描和页面扫描都失败
// 23:查询扫描和页面扫描都有效
查询扫描功能:其它设备可以扫描到本设备,是指可见性;
页面扫描功能:可以主动扫描其它设备;
(1)可见状态:int SCAN_MODE_CONNECTABLE_DISCOVERABLE,值为23,启用查询扫描和页面扫描。
意味着该设备可被任何执行发现扫描的蓝牙设备发现。
(2)扫描状态:int SCAN_MODE_CONNECTABLE,值为21,禁用查询扫描,启用页面扫描,该状态下蓝牙模块可以扫描其它设备,可见性:只对已配对的蓝牙设备可见,只有配对设备才能主动连接本设备;
意味着先前连接并绑定本地设备的设备可以在发现过程中找到,但找不到新设备。
(3)无功能状态:int SCAN_MODE_NONE,值为20,查询扫描和页面扫描都失败,该状态下蓝牙模块既不能扫描其它设备,也不可见;
意味着可发现性被关闭,在发现过程中没有一个远程设备能够找到本地蓝牙设备。
三、蓝牙相关权限:
<!--蓝牙相关权限-->
<!--允许配对设备-->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!--允许发现设备-->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<!--无交互的进行操作,API>=19添加-->
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"/>
更多iOS、Android、Python、Java、MySQL的文章,请点击:
http://blog.youkuaiyun.com/jamiecheung
http://blog.youkuaiyun.com/u010841622