【Android 应用开发】BluetoothAdapter解析(二)

(5)附加域

附加域是放在Intent中的, 使用Intent.putExtra(附加域,附加值)方法添加附加域;


扫描模式附加域 : 这两个附加域的值是扫描模式, 可以为SCAN_MODE_NONE, SCAN_MODE_CONNECTABLE, SCAN_MODE_CONNECTABLE_DISCOVERABLE;


String EXTRA_SCAN_MODE : 值为"android.bluetooth.adapter.extra.SCAN_MODE";


String EXTRA_PREVIOUS_SCAN_MODE : 值为"android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE";




开关状态附加域 : 这两个附加域的值是开关状态, 可以为STATE_OFF, STATE_ON, STATE_TURNING_OFF, STATE_TURNING_ON;


String EXTRA_STATE : 值为"android.bluetooth.adapter.extra.STATE";


String EXTRA_PREVIOUS_STATE : 值为"android.bluetooth.adapter.extra.PREVIOUS_STATE";




蓝牙名称附加域 : String EXTRA_LOCAL_NAME , 存放ACTION_LOCAL_NAME_CHANGED附加域的附加值 , 值为"android.bluetooth.adapter.extra.LOCAL_NAME";




可见时间附加域 : String EXTRA_DISCOVERABLE_DURATION, 存放的是ACTION_REQUEST_DISCOVERABLE广播的可见时长, 值为"android.bluetooth.adapter.extra.DISCOVERABLE_DURATION";




(6)错误码

int ERROR , 这个值用来标记错误 , 方便自己使用的 , 没有实际意义;




2.State状态相关方法



(1)获取蓝牙适配器

public static sychronized BluetoothAdapter getDefaultAdapter();

返回值 : 本地蓝牙适配器 BluetoothAdapter对象;




(2)获取state状态方法

public int getState();

作用 : 获取是否可用


返回值 : 返回当前的State状态值, STATE_ON, STATE_OFF, STATE_TURNING_ON, STATE_TURNING_OFF;


权限 : BLUETOOTH;




(3)蓝牙是否可用

public boolean isEnable();

作用 : 获取当前设备蓝牙模块是否可用;


返回值 : 返回当前蓝牙模块是否可用, true 可用, false 不可用;


权限 : BLUETOOTH权限;




(4)打开蓝牙

public boolean enable();

作用 : 打开本地蓝牙适配器;


返回值 : 如果打开成功则返回true, 如果打开失败返回false;


权限 : BLUETOOTH_ADMIN权限;




(5)关闭蓝牙

public boolean disable();

作用 : 关闭本地设备蓝牙;


返回值 : 如果关闭蓝牙成功, 返回true; 如果关闭蓝牙失败, 返回false;


权限 : BLUETOOTH_ADMIN权限;




3. 扫描相关方法



(1)开始扫描

public boolean startDiscovery();

作用 : 开始查找远程蓝牙设备, 先进行12秒的查询扫描(被动可见), 之后进行页面扫描(主动搜索); 搜索过成功不能尝试对远程设备的连接, 同时已连接的设备的带宽也会被压缩, 等待时间变长; 使用cancelDiscovery()可以终止搜索;


返回值 : 如果成功则返回true, 失败返回false;


权限 :  BLUETOOTH_ADMIN权限;




(2)是否在扫描中

public boolean isDiscovering();

作用 : 是否正在搜索;


返回值 : 如果设备正在搜索, 返回true; 如果设备没有进行蓝牙搜索, 返回false;


权限 : BLUETOOTH权限;




(3)取消查找

public boolean cancelDiscovery();

作用 : 取消蓝牙搜索; 在进行connect()方法的时候, 必须调用这个方法, 蓝牙搜索是一个服务进行, 在搜索中的时候, 不能进行连接;


返回值 : 如果取消成功, 则返回true; 如果取消失败, 返回false;






(4)获取扫描模式

public int getScanMode();

作用 : 获取当前蓝牙的扫描模式;


返回值 : SCAN_MODE_NONE, SCAN_MODE_CONNECTABLE, SCAN_MODE_DISCOVERABLE;





上一篇:Gradle 1.12翻译——第十九章. Gradle 守护进程


下一篇:【Android 应用开发】Android之Bluetooth编程