1.定义
类BluetoothAdapter的格式如下。 public final class BluetoothAdapter extends Object
类BluetoothAdapter的结构如下。 java.lang.Object android.bluetooth.BluetoothAdapter
注意:大部分方法需要BLUETOOTH权限,还有一些方法同时需要BLUETOOTH_ADMIN权限。
2.常量
(1)String ACTION_DISCOVERY_FINISHED
广播事件:本地蓝牙适配器已经完成设备的搜寻过程。需要BLUETOOTH权限来接收。
常量值:android.bluetooth.adapter.action.DISCOVERY_FINISHED。
(2)String ACTION_DISCOVERY_STARTED
广播事件:本地蓝牙适配器已经开始了对远程设备的搜寻过程。它通常涉及到一个大概12秒的查询扫描过程,紧跟着是一个对每个获取到的蓝牙名称的新设备的页面扫描。用户会发现一个把ACTION_FOUND常量通知为远程蓝牙设备的注册。
常量值:android.bluetooth.adapter.action.DISCOVERY_STARTED。
(3)String ACTION_LOCAL_NAME_CHANGED
广播活动:本地蓝牙适配器已经更改了它的蓝牙名称。该名称对远程蓝牙设备是可见的,它总是包含了一个带有名称的EXTRA_LOCAL_NAME附加域。需要BLUETOOTH权限来接收。
常量值:android.bluetooth.adapter.action.LOCAL_NAME_CHANGED"
(4)String ACTION_REQUEST_DISCOVERABLE
Activity活动:显示一个请求被搜寻模式的系统活动。如果未打开当前蓝牙模块,该活动将请求用户打开蓝牙模块,被搜寻模式和SCAN_MODE_CONNECTABLE_DISCOVERABLE等价。当远程设备执行查找进程的时候,它允许其发现该蓝牙适配器。从隐私安全考虑,Android不会将被搜寻模式设置为默认状态。
Android运用回收方法onActivityResult(int,int,Intent)来传递该活动结果的通知。被搜寻的时间(以秒为单位)将通过resultCode值来显示。如果用户拒绝被搜寻,或者设备产生了错误,则通过RESULT_CANCELED值来显示。
当扫描模式变化时,应用程序可以通过ACTION_SCAN_MODE_CHANGED值来监听全局的消息通知。比如,当设备停止被搜寻以后,该消息可以被系统通知给应用程序。需要BLUETOOTH权限。
常量值:android.bluetooth.adapter.action.REQUEST_DISCOVERABLE
(5)String ACTION_REQUEST_ENABLE
Activity活动:显示一个允许用户打开蓝牙模块的系统活动。当打开蓝牙模块后,或者当用户决定不打开蓝牙模块时,系统活动将返回该值。Android运用回收方法onActivityResult(int,int,Intent)来传递该活动结果的通知。如果蓝牙模块被打开,将通过resultCode值RESULT_OK来显示。如果用户拒绝该请求,或者设备产生了错误,则通过RESULT_CANCELED值来显示。每当蓝牙模块被打开或者关闭时,应用程序可以通过ACTION_STATE_CHANGED值来监听全局的消息通知。需要BLUETOOTH权限。
常量值:android.bluetooth.adapter.action.REQUEST_ENABLE。
(6)String ACTION_SCAN_MODE_CHANGED
广播活动:指明蓝牙扫描模块或者本地适配器已经发生变化,它总是包含EXTRA_SCAN_MODE和EXTRA_PREVIOUS_SCAN_MODE。这两个附加域各自包含了新的和旧的扫描模式。需要BLUETOOTH权限
常量值:android.bluetooth.adapter.action.SCAN_MODE_CHANGED。
(7)String ACTION_STATE_CHANGED
广播活动:本来的蓝牙适配器的状态已经改变,例如蓝牙模块已经被打开或者关闭。它总是包含EXTRA_STATE和EXTRA_PREVIOUS_STATE。这两个附加域各自包含了新的和旧的状态。需要BLUETOOTH权限接收
常量值:android.bluetooth.adapter.action.STATE_CHANGED。
(8)int ERROR
功能:标记该类的错误值。确保和该类中的任意其他整数常量不相等。它为需要一个标记错误值的函数提供了便利。例如:
常量值:-2147483648(0x80000000)
(9)String EXTRA_DISCOVERABLE_DURATION
功能:试图在ACTION_REQUEST_DISCOVERABLE常量中作为一个可选的整型附加域,来为短时间内的设备发现请求一个特定的持续时间。默认值为120秒,超过300秒的请求将被限制。这些值是可以变化的。
常量值:android.bluetooth.adapter.extra.DISCOVERABLE_DURATION。
(10)String EXTRA_LOCAL_NAME
功能:试图在ACTION_LOCAL_NAME_CHANGED常量中作为一个字符串附加域,来请求本地蓝牙的名称。
常量值:android.bluetooth.adapter.extra.LOCAL_NAME。
(11)String EXTRA_PREVIOUS_SCAN_MODE
功能:试图在ACTION_SCAN_MODE_CHANGED常量中作为一个整型附加域,来请求以前的扫描模式。可能的取值如下。
□SCAN_MODE_NONE。
□SCAN_MODE_CONNECTABLE。
□SCAN_MODE_CONNECTABLE_DISCOVERABLE。
常量值:android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE。
(12)String EXTRA_PREVIOUS_STATE
功能:试图在ACTION_STATE_CHANGED常量中作为一个整型附加域,来请求以前的供电状态。可能的取值如下。
□STATE_OFF。
□STATE_TURNING_ON。(www.xing528.com)
□STATE_ON。
□STATE_TURNING_OFF。
常量值:android.bluetooth.adapter.extra.PREVIOUS_STATE。
(13)String EXTRA_SCAN_MODE
功能:试图在ACTION_SCAN_MODE_CHANGED常量中作为一个整型附加域,来请求当前的扫描模式。可能的取值如下。
□SCAN_MODE_NONE。
□SCAN_MODE_CONNECTABLE。
□SCAN_MODE_CONNECTABLE_DISCOVERABLE。
常量值:android.bluetooth.adapter.extra.SCAN_MODE。
(14)String EXTRA_STATE
功能:试图在ACTION_STATE_CHANGED常量中作为一个整型附加域,来请求当前的供电状态。可能的取值如下。
□STATE_OFF。
□STATE_TURNING_ON。
□STATE_ON。
□STATE_TURNING_OFF。
常量值:android.bluetooth.adapter.extra.STATE。
(15)int SCAN_MODE_CONNECTABLE
功能:指明在本地蓝牙适配器中,查询扫描功能失效,但页面扫描功能有效。因此该设备不能被远程蓝牙设备发现,但如果以前曾经发现过该设备,则远程设备可以对其进行连接。
常量值:21(0x00000015)。
(16)int SCAN_MODE_CONNECTABLE_DISCOVERABLE
功能:指明在本地蓝牙适配器中,查询扫描功能和页面扫描功能都有效。因此该设备既可以被远程蓝牙设备发现,也可以被其连接。
常量值:23(0x00000017)。
(17)int SCAN_MODE_NONE
功能:指明在本地蓝牙适配器中,查询扫描功能和页面扫描功能都失效。因此该设备既不可以被远程蓝牙设备发现,也不可以被其连接。
常量值:20(0x00000014)。
(18)int STATE_OFF
功能:指明本地蓝牙适配器模块已经关闭。
常量值:10(0x0000000a)。
(19)int STATE_ON
功能:指明本地蓝牙适配器模块已经打开,并且准备被使用。
(20)int STATE_TURNING_OFF
功能:指明正在关闭本地蓝牙适配器模块,本地客户端可以立刻尝试友好地断开任意的外部连接。
常量值:13(0x0000000d)。
(21)int STATE_TURNING_ON
功能:指明正在打开本地蓝牙适配器模块,本地客户在尝试使用这个适配器之前需要为STATE_ON的状态而等待。
常量值:11(0x0000000b)。
3.公共方法
(1)public boolean cancelDiscovery()
功能:取消当前的设备发现查找进程,需要BLUETOOTH_ADMIN权限。因为对蓝牙适配器而言,查找工作需要消耗大量的能耗,因此这个方法必须在尝试连接到远程设备前使用connect()方法进行调用。
返回值:成功则返回true,有错误则返回false。
(2)public static boolean checkBluetoothAddress(String address)
参数address:字符串形式的蓝牙模块地址。
返回值:地址正确则返回true,否则返回false。
(3)public boolean disable()
功能:关闭本地蓝牙适配器,不能在没有明确关闭蓝牙的用户动作中使用。没有用户的直接同意,蓝牙永远不能被禁止。这个disable()方法只提供了一个应用,该应用包含了一个改变系统设置的用户界面,例如“电源控制”应用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。