首页 理论教育 BluetoothAdapter类详解

BluetoothAdapter类详解

时间:2023-06-27 理论教育 版权反馈
【摘要】:public final class BluetoothAdapter extends Object类BluetoothAdapter的结构如下。java.lang.Object android.bluetooth.BluetoothAdapter注意:大部分方法需要BLUETOOTH权限,还有一些方法同时需要BLUETOOTH_ADMIN权限。从隐私安全考虑,Android不会将被搜寻模式设置为默认状态。被搜寻的时间将通过resultCode值来显示。需要BLUETOOTH权限接收常量值:android.bluetooth.adapter.action.STATE_CHANGED。默认值为120秒,超过300秒的请求将被限制。

BluetoothAdapter类详解

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()方法只提供了一个应用,该应用包含了一个改变系统设置的用户界面,例如“电源控制”应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈