public final class BluetoothA2dp
extends Object
implements BluetoothProfile
java.lang.Object | |
↳ | android.bluetooth.BluetoothA2dp |
该类提供公共API来控制蓝牙A2DP配置文件。
BluetoothA2dp是通过IPC控制蓝牙A2DP服务的代理对象。 使用getProfileProxy(Context, BluetoothProfile.ServiceListener, int)
获取BluetoothA2dp代理对象。
Android一次只支持一个连接的蓝牙A2dp设备。 每种方法都受到适当权限的保护。
Constants |
|
---|---|
String |
ACTION_CONNECTION_STATE_CHANGED 意图用于广播A2DP配置文件连接状态的变化。 |
String |
ACTION_PLAYING_STATE_CHANGED 意图用于在A2DP配置文件的播放状态中广播更改。 |
int |
STATE_NOT_PLAYING A2DP接收设备不是流式音乐。 |
int |
STATE_PLAYING A2DP接收设备是流媒体音乐。 |
Inherited constants |
---|
From interface android.bluetooth.BluetoothProfile
|
Public methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
List<BluetoothDevice> |
getConnectedDevices() 获取此特定配置文件的连接设备。 |
int |
getConnectionState(BluetoothDevice device) 获取配置文件的当前连接状态 需要 |
List<BluetoothDevice> |
getDevicesMatchingConnectionStates(int[] states) 获取匹配任何给定连接状态的设备列表。 |
boolean |
isA2dpPlaying(BluetoothDevice device) 检查A2DP配置文件是否为流媒体音乐。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.bluetooth.BluetoothProfile
|
String ACTION_CONNECTION_STATE_CHANGED
意图用于广播A2DP配置文件连接状态的变化。
这个意图将有3个额外的:
EXTRA_STATE
- The current state of the profile. EXTRA_PREVIOUS_STATE
- The previous state of the profile.EXTRA_DEVICE
- The remote device. EXTRA_STATE
或 EXTRA_PREVIOUS_STATE
可以是任何的 STATE_DISCONNECTED
, STATE_CONNECTING
, STATE_CONNECTED
, STATE_DISCONNECTING
。
需要 BLUETOOTH
权限才能接收。
常量值:“android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED”
String ACTION_PLAYING_STATE_CHANGED
意图用于在A2DP配置文件的播放状态中广播更改。
这个意图将有3个额外的:
EXTRA_STATE
- The current state of the profile. EXTRA_PREVIOUS_STATE
- The previous state of the profile. EXTRA_DEVICE
- The remote device. EXTRA_STATE
或 EXTRA_PREVIOUS_STATE
可以是任何的 STATE_PLAYING
, STATE_NOT_PLAYING
,
需要 BLUETOOTH
许可才能接收。
常量值:“android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED”
int STATE_NOT_PLAYING
A2DP接收设备不是流式音乐。 此状态可以是一个EXTRA_STATE
或者EXTRA_PREVIOUS_STATE
的ACTION_PLAYING_STATE_CHANGED
意图。
常量值:11(0x0000000b)
int STATE_PLAYING
A2DP接收设备是流媒体音乐。 该状态可以是EXTRA_STATE
或EXTRA_PREVIOUS_STATE
的ACTION_PLAYING_STATE_CHANGED
意图之一。
常量值:10(0x0000000a)
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize
可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定的对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在针对某个对象调用了 finalize
方法之后,在Java虚拟机再次确定不再有任何方法可以通过尚未死亡的任何线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法引发的任何异常 finalize
导致终止此对象的终止,但会被忽略。
List<BluetoothDevice> getConnectedDevices ()
获取此特定配置文件的连接设备。
返回处于状态 STATE_CONNECTED
的设备 STATE_CONNECTED
需要 BLUETOOTH
权限。
Returns | |
---|---|
List<BluetoothDevice> |
List of devices. The list will be empty on error. |
int getConnectionState (BluetoothDevice device)
获取配置文件的当前连接状态
需要 BLUETOOTH
权限。
Parameters | |
---|---|
device |
BluetoothDevice : Remote bluetooth device. |
Returns | |
---|---|
int |
State of the profile connection. One of STATE_CONNECTED , STATE_CONNECTING , STATE_DISCONNECTED , STATE_DISCONNECTING |
List<BluetoothDevice> getDevicesMatchingConnectionStates (int[] states)
获取匹配任何给定连接状态的设备列表。
如果没有任何设备匹配任何给定的状态,则会返回空列表。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
states |
int : Array of states. States can be one of STATE_CONNECTED , STATE_CONNECTING , STATE_DISCONNECTED , STATE_DISCONNECTING , |
Returns | |
---|---|
List<BluetoothDevice> |
List of devices. The list will be empty on error. |
boolean isA2dpPlaying (BluetoothDevice device)
检查A2DP配置文件是否为流媒体音乐。
需要 BLUETOOTH
权限。
Parameters | |
---|---|
device |
BluetoothDevice : BluetoothDevice device |
Returns | |
---|---|
boolean |