小编Ray*_*Xie的帖子

如何以编程方式检查Android中蓝牙设备的连接状态?

我可以枚举配对Bluetooth设备,我需要在应用启动时检查它们当前的连接状态.

但是,我发现无法获得连接状态?!

以下是我尝试但失败的一些努力:

  1. android.bluetooth.BluetoothDevice

它有获得远程设备的键状态的方法,和用于键状态可能值如下:BOND_NONE,BOND_BONDING,BOND_BONDED.但这不是连接状态.

  1. android.bluetooth.BluetoothProfile

该方法可用于获取连接状态,但BluetoothProfile必须首先获取对象.

public abstract int getConnectionState (BluetoothDevice device); 
Run Code Online (Sandbox Code Playgroud)

正如在doc中描述的那样:" 客户端应调用getProfileProxy(Context,BluetoothProfile.ServiceListener,int),以获取配置文件代理. ",它只能ServiceListener在状态发生变化时在被调用时进行检索.

如果我在启动时查询状态而没有发生任何状态更改,该怎么办?

  1. android.bluetooth.BluetoothManager

它提供了一种方法:

public int getConnectionState (BluetoothDevice device, int profile);
Run Code Online (Sandbox Code Playgroud)

但是它不能被用于检测连接状态的的Bluetooth扬声器,作为配置文件参数只接受GATTGATT_SERVER(用于低能量设备),其他轮廓(HEADSET,HEALTH,A2DP)不被支持.

  1. android.bluetooth.BluetoothAdapter

它提供了一种方法:

public int getProfileConnectionState (int profile);
Run Code Online (Sandbox Code Playgroud)

此功能可用于检查本地Bluetooth适配器是否连接到特定配置文件的任何远程设备.它可用于检查指定的配置文件.但它不能用于检查给定的设备.

有谁知道如何获得给定Bluetooth设备的连接状态?

提前致谢.

android bluetooth

10
推荐指数
1
解决办法
5425
查看次数

如何将库资源添加到Cordova项目?

当编写一些cordova插件,来自某些SDK,资源文件的源/头文件,iOS库和Android Jar都可以添加到Cordova插件中.

当使用google-play-services.jar时,库项目包含一些资源文件,如果添加了资源,将在app命名空间中生成R.java,而不是SDK命名空间.

有一些变通方法来添加库项目(包括JAR和资源)为创建科尔多瓦项目,但如果建立像英特尔XDK或PhoneGap的构建云服务应用科尔多瓦这种解决方法不能使用.

是否可以添加SDK资源并在SDK命名空间中生成R.java?如果有,怎么样?

resources android namespaces cordova

6
推荐指数
1
解决办法
7160
查看次数

标签 统计

android ×2

bluetooth ×1

cordova ×1

namespaces ×1

resources ×1