BluetoothDevice 类

定义

表示远程蓝牙设备。

[Android.Runtime.Register("android/bluetooth/BluetoothDevice", DoNotGenerateAcw=true)]
public sealed class BluetoothDevice : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/bluetooth/BluetoothDevice", DoNotGenerateAcw=true)>]
type BluetoothDevice = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
BluetoothDevice
属性
实现

注解

表示远程蓝牙设备。 使用 A BluetoothDevice ,可以创建与相应设备的连接,或查询有关它的信息,例如名称、地址、类和绑定状态。

此类实际上只是蓝牙硬件地址的精简包装器。 此类的对象是不可变的。 此类上的操作在远程蓝牙硬件地址上执行, BluetoothAdapter 使用用于创建此类 BluetoothDevice的操作。

若要获取一个 BluetoothDevice,用于 BluetoothAdapter#getRemoteDevice(String) BluetoothAdapter.getRemoteDevice(String) 创建一个表示已知 MAC 地址的设备(可以通过设备发现), BluetoothAdapter或从返回的 BluetoothAdapter#getBondedDevices() BluetoothAdapter.getBondedDevices()一组绑定设备中获取一个。 然后,可以使用蓝牙 BR/EDR 或使用#createL2capChannel(int)蓝牙 LE 打开BluetoothSocket与远程设备的#createRfcommSocketToServiceRecord(UUID)通信。

<div class=“special reference”>

<h3>开发人员指南</h3>

有关使用蓝牙的详细信息,请阅读 蓝牙 开发人员指南。 </Div>

适用于 . 的 android.bluetooth.BluetoothDeviceJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

名称 说明
ActionAclConnected

广播操作:指示已与远程设备建立低级别(ACL)连接。

ActionAclDisconnected

广播操作:指示与远程设备断开连接的低级别(ACL)。

ActionAclDisconnectRequested

广播操作:指示远程设备请求了低级别(ACL)断开连接,并且很快会断开连接。

ActionAliasChanged

广播操作:指示远程设备的别名已更改。

ActionBondStateChanged

广播操作:指示远程设备的绑定状态发生更改。

ActionClassChanged

广播操作:远程设备的蓝牙类已更改。

ActionEncryptionChange

广播操作:指示加密状态已更改

ActionFound

广播操作:发现远程设备。

ActionKeyMissing

广播操作:指示以前绑定的设备无法提供用于建立加密的密钥。

ActionNameChanged

广播操作:指示远程设备的友好名称已首次检索或更改自上次检索以来更改。

ActionPairingRequest

广播操作:此意向用于广播配对请求

ActionUuid

广播操作:此意向用于在提取远程设备后将其作为UUID远程设备广播android.os.ParcelUuid

AddressTypeAnonymous
已过时.

用于指示匿名播发的地址类型。

AddressTypePublic
已过时.

设备的硬件 MAC 地址

AddressTypeRandom
已过时.

地址是可解析的、不可解析的或静态的。

AddressTypeUnknown
已过时.

地址类型未知或不可用

DeviceTypeClassic
已过时.

蓝牙设备类型,经典 - BR/EDR 设备

DeviceTypeDual
已过时.

蓝牙设备类型,双模式 - BR/EDR/LE

DeviceTypeLe
已过时.

蓝牙设备类型,低能 - 仅限 LE

DeviceTypeUnknown
已过时.

蓝牙设备类型,未知

EncryptionAlgorithmAes
已过时.

指示已使用 AES 算法加密链接

EncryptionAlgorithmE0
已过时.

指示使用 E0 算法对链接进行了加密

EncryptionAlgorithmNone
已过时.

指示未使用任何算法加密链接

Error

此类的 Sentinel 错误值。

ExtraBondState

用作意向中的 #ACTION_BOND_STATE_CHANGED int extra 字段。

ExtraClass

用作可 BluetoothClass 包裹的额外字段 #ACTION_FOUND#ACTION_CLASS_CHANGED 意向。

ExtraDevice

用作此类广播的每个意向中的可 BluetoothDevice 包裹额外字段。

ExtraEncryptionAlgorithm

用作意向中的 #ACTION_ENCRYPTION_CHANGE int 额外字段,用作用于加密的算法。

ExtraEncryptionEnabled

用作意向中的 #ACTION_ENCRYPTION_CHANGE 布尔额外字段。

ExtraEncryptionStatus

用作意向中的 #ACTION_ENCRYPTION_CHANGE int extra 字段。

ExtraIsCoordinatedSetMember

用作意向中的 #ACTION_FOUND 布尔额外字段。

ExtraKeySize

用作意向中的 #ACTION_ENCRYPTION_CHANGE int extra 字段作为加密密钥的大小(以字节数为单位)。

ExtraName

用作字符串额外字段 #ACTION_NAME_CHANGED#ACTION_FOUND 意向。

ExtraPairingKey

用作意向中的 #ACTION_PAIRING_REQUEST int extra 字段作为 passkey 的值。

ExtraPairingVariant

用作意向中的 #ACTION_PAIRING_REQUEST int extra 字段以指示使用的配对方法。

ExtraPreviousBondState

用作意向中的 #ACTION_BOND_STATE_CHANGED int extra 字段。

ExtraRssi

用作意向中的 #ACTION_FOUND 可选短额外字段。

ExtraTransport

用作 int extra 字段 #ACTION_ACL_CONNECTED#ACTION_ACL_DISCONNECTED 以及 #ACTION_ENCRYPTION_CHANGE 指示连接传输的意向。

ExtraUuid

用作意向中的 #ACTION_UUID 额外字段,包含 android.os.ParcelUuid远程设备的可包裹版本 UUID

PairingVariantPasskeyConfirmation

系统将提示用户确认屏幕上显示的通行密钥,或者应用将确认用户的通行密钥。

PairingVariantPin

系统将提示用户输入 pin,或者应用将为用户输入 pin。

属性

名称 说明
Address

返回此 BluetoothDevice 的硬件地址。

AddressType

返回此 BluetoothDevice 的地址类型、其中#ADDRESS_TYPE_PUBLIC#ADDRESS_TYPE_RANDOM#ADDRESS_TYPE_ANONYMOUS一个或 。#ADDRESS_TYPE_UNKNOWN

Alias

获取远程蓝牙设备的本地可修改名称(别名)。

BluetoothClass

获取远程设备的蓝牙类。

BondState

获取远程设备的绑定状态。

Class

返回此 Object的运行时类。

(继承自 Object)
Creator
Handle

基础 Android 实例的句柄。

(继承自 Object)
IdentityAddressWithType

表示远程蓝牙设备。

JniIdentityHashCode

表示远程蓝牙设备。

(继承自 Object)
JniPeerMembers

表示远程蓝牙设备。

Name

获取远程设备的友好蓝牙名称。

PeerReference

表示远程蓝牙设备。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)
Type

获取远程设备的蓝牙设备类型。

方法

名称 说明
Clone()

创建并返回此对象的副本。

(继承自 Object)
ConnectGatt(Context, Boolean, BluetoothGattCallback, BluetoothTransports, BluetoothPhy, Handler)

连接到此设备托管的 GATT 服务器。

ConnectGatt(Context, Boolean, BluetoothGattCallback, BluetoothTransports, BluetoothPhy)

连接到此设备托管的 GATT 服务器。

ConnectGatt(Context, Boolean, BluetoothGattCallback, BluetoothTransports, ScanSettingsPhy, Handler)
已过时.

表示远程蓝牙设备。

ConnectGatt(Context, Boolean, BluetoothGattCallback, BluetoothTransports, ScanSettingsPhy)
已过时.

表示远程蓝牙设备。

ConnectGatt(Context, Boolean, BluetoothGattCallback, BluetoothTransports)

连接到此设备托管的 GATT 服务器。

ConnectGatt(Context, Boolean, BluetoothGattCallback)

连接到此设备托管的 GATT 服务器。

CreateBond()

启动与远程设备的绑定(配对)过程。

CreateInsecureL2capChannel(Int32)

创建一个面向蓝牙 L2CAP 连接的通道(CoC), BluetoothSocket 该通道可用于启动与具有相同动态协议/服务多路复用器(PSM)值的远程设备的安全传出连接。

CreateInsecureRfcommSocketToServiceRecord(UUID)

创建一个 RFCOMM BluetoothSocket 套接字,以便使用 Uuid 的 SDP 查找启动到此远程设备的不安全传出连接。

CreateL2capChannel(Int32)

创建一个面向蓝牙 L2CAP 连接的通道(CoC), BluetoothSocket 该通道可用于启动与具有相同动态协议/服务多路复用器(PSM)值的远程设备的安全传出连接。

CreateRfcommSocketToServiceRecord(UUID)

使用 Uuid 的 SDP 查找创建一个 RFCOMM BluetoothSocket ,以便启动到此远程设备的安全传出连接。

CreateUsingSocketSettings(BluetoothSocketSettings)

创建客户端套接字以使用指定的套接字设置 BluetoothSocketSettings 连接到远程蓝牙服务器。此 API 用于连接到托管的 BluetoothAdapter#listenUsingSocketSettings远程服务器。

DescribeContents()

描述此 Parcelable 封送表示形式中包含的特殊对象类型。

Dispose()

表示远程蓝牙设备。

(继承自 Object)
Dispose(Boolean)

表示远程蓝牙设备。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
FetchUuidsWithSdp()

在远程设备上执行服务发现,以获取支持的 UUID。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetUuids()

返回远程设备的受支持功能(UUID)。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetAlias(String)

设置远程蓝牙设备的本地可修改名称(别名)。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetPairingConfirmation(Boolean)

确认用于配对的 #PAIRING_VARIANT_PASSKEY_CONFIRMATION 密钥。

SetPin(Byte[])

在配对方法为 #PAIRING_VARIANT_PIN

ToArray<T>()

表示远程蓝牙设备。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

表示远程蓝牙设备。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

将此对象平展到一个地块。

显式接口实现

名称 说明
IJavaPeerable.Disposed()

表示远程蓝牙设备。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

表示远程蓝牙设备。

(继承自 Object)
IJavaPeerable.Finalized()

表示远程蓝牙设备。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

表示远程蓝牙设备。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

表示远程蓝牙设备。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

表示远程蓝牙设备。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

表示远程蓝牙设备。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

表示远程蓝牙设备。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于