- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在努力使用摩托罗拉随 RAZR 提供的 BT 4.0 API。在 one of their documents它声明在连接和使用他们的框架之前使用 Android API 进行配对。根据他们的说明,我一直在与操作系统蓝牙设置应用程序配对,但它从未提示我输入 key 。它会配对但似乎不会结合,这对我来说至关重要。
我的问题是,当他们说“使用 Android API”时,这是指简单地使用 OS 蓝牙实用程序预先配对(就像我一直在做的那样),还是有一些方法可以用我的代码来完成应用。他们引用了“createBond()”函数,据我所知,该函数不是一个可访问的函数(至少在没有一些 squirrely 库或反射的情况下)。
非常感谢任何建议,特别是任何成功使用 API 的人,如果他们能说明他们的过程。我现在只是在寻找一些清晰度:)
最佳答案
劳埃德,
您是正确的,请按照您发布的链接中的说明进行操作。
在编码之外,当他们说使用标准 android api 进行“非 le”操作时,他们的意思是继续并以与任何蓝牙经典设备相同的方式配对 ble 设备在 android 设置 -> 无线和网络 -> 蓝牙 -> 扫描设备。
如果您使用的设备是摩托罗拉兼容设备,则该设备将配对但未连接。
现在,在代码中,您可以通过与
相同的方法检测此配对设备BluetoothAdapter.getDefaultAdapter().getBondedDevices()
要仔细检查您的 Android 手机是否兼容 LE,请运行以下代码:
public static boolean checkBLESupport() {
boolean deviceSupportsLE;
try {
@SuppressWarnings({ "unused", "rawtypes" })
Class object = Class.forName("android.server.BluetoothGattService");
deviceSupportsLE = true;
} catch (Exception e) {
deviceSupportsLE = false;
}
return deviceSupportsLE;
}
并在循环绑定(bind)设备时仔细检查您配对的蓝牙设备是否为 LE。使用此代码检查设备。
if (device.getBluetoothClass() == null) {
Log.i(TAG, "This device is BLE compatible");
b = true;
} else {
Log.i(TAG, "This device is not BLE");
b = false;
}
现在要建立从 LE 兼容手机到 LE 兼容蓝牙设备的连接,请按照您发布的链接下的 Gatt 服务说明进行操作。 http://developer.motorola.com/docs/bluetooth-low-energy-api/
请注意,在此示例下,它连接到蓝牙低功耗心率监测器。
如果您不尝试使用 LE 心率配置文件连接到心率监测器,这里有一个指向另一个摩托罗拉文档的链接,该文档详细介绍了创建您自己的 LE 配置文件以与 GATT 框架一起使用。 http://developer.motorola.com/docs/bluetooth-low-energy-gatt-framework-api/
如果其中任一文档中的说明不够清楚,motorola 会提供使用这些文档中的框架的示例 android 应用程序。
关于Android 低功耗蓝牙摩托罗拉 API 配对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907602/
对于旧处理器,这可能是一个奇怪的问题,但我已经用 Java 编写了一个 Heathkit ET-3400A 微型计算机训练器的仿真。我添加了触发中断的能力,摩托罗拉 6800 数据表表明 I 标志(中
RTICTL 寄存器中的 RSWAI 位有什么作用? 最佳答案 我假设你已经阅读了文档,但如果你还没有...... RSWAI — RTI and COP Stop While in Wait Wri
我正在使用 Motorola LS1203 条码扫描仪并尝试将其连接到 Java 程序。 我可以通过模拟键盘的 USB 电缆让它工作,并且可以很好地打印到记事本,并且我可以捕获该信息,但 Java 程
我正在编写一个扫描条形码并将其显示到文本框的应用程序。我使用的是在 Windows Embedded compact 7.0 上运行的 Motorola MC3190 设备。为了实现条码扫描,我使用了
我在 Motorola MC 65(操作系统:Windows Mobile)中遇到磁条阅读器问题。如果我尝试打开 Reader,则会收到异常 MSR_Open MSR_Err_OpenFailure。
我们的应用程序显示相机预览,它似乎在所有手机上都能正常工作,但摩托罗拉 Droid 除外,在我们设置相机参数时出现运行时异常: java.lang.RuntimeException: setP
我正在尝试让我的摩托罗拉 MC3190 读取条形码。但不幸的是按下硬件扫描按钮后没有任何 react 。我将 EMDK 用于 .net 2.0 版。 这是我的代码: private void Form
我有一个应用程序可以打开 native 相机应用程序并获取拍摄的照片。我已经看到,当我的应用程序打开 native 相机应用程序时,它会杀死所有后台运行的应用程序(包括我的应用程序)。 此问题也在其他
我有一个摩托罗拉 LI4278 蓝牙扫描器,我已通过蓝牙连接到平板电脑。扫描仪设置为串行从站。我可以正常连接并读取数据。 但是,如果扫描的序列号无效,我想向用户提供某种反馈。根据 LI4278 文档:
我开发了一个小游戏,我的一个 friend /同事在他的摩托罗拉 Xoom 平板电脑上试了一下,结果发现渲染全乱了!我把所有东西都剥离下来,试图简化一切,看看哪里出了问题,我认为摩托罗拉 Xoom 在
我们的应用程序使用图库选择操作从设备中抓取图像以上传到新的博客文章。我们在 Moto Droid 上看到,纵向拍摄的图像以横向发送回应用程序,因此图像是横向的。据我所知,这只发生在 Droid 上。
我正在尝试使用 eclipse 中的 android SDK 为摩托罗拉 MC40 设备运行一个应用程序进行调试,但是当我在连接设备的情况下运行该应用程序时,该设备不会显示在 android 设备选择
我不是专家,只是一个爱好者。我以前玩过68000架构,一直在想它的TRAP指令。这条指令总是被描述为操作系统的“桥梁”(在某些系统中,但在这方面没有使用它,但这是另一回事)。这是如何实现的? TRAP
我有安装了 DataWedge 3.2.4 的摩托罗拉 MC55。我遇到的问题是条形码扫描速度非常慢,尤其是那些以“U”字母为前缀的条形码。我打开记事本并扫描条形码,文本显示非常缓慢(甚至在条形码键触
我在带有 EMDK 的安卓系统上使用摩托罗拉 MC40。当我扫描带有大写“О”(U041E) 等西里尔字母符号的 Data Matrix 代码时,函数 ScanData.getData() 返回带有字
我在使用摩托罗拉 Defy Plus 设备时遇到了一个奇怪的问题。 我得到了一个简单的布局,其中包含一个 ImageView 作为其中所有选项卡的背景图像的 TabHost。 由于某些奇怪的原因,特别
我无法让摩托罗拉 TC55 出现在 adb 中(使用 Mac OSX),他们的支持热线也没什么帮助。 我试过将供应商添加到 .ini 文件,我试过打开/关闭 USB 调试和开发选项。 我试过终止并重新
我想将 Motorola EMDK 中的 DataListener 实现到我的类中。如果我实现 DataListener,我的应用程序就会崩溃。 我的 Android list 如下所示:
我有一个使用 m3u8 流式传输实时视频的网站。它适用于 iOS 设备和 safari mac,但我还需要它才能在 motorola honeycomb xoom tablet version 3.1
我有几个关于前置摄像头设备支持的预览尺寸的问题。不确定我是否应该在这里问,但不确定我还能在哪里找到这个答案。与我正在创建的应用有关。 我的问题是,什么决定了支持的预览尺寸?是屏幕尺寸还是相机?大多数具
我是一名优秀的程序员,十分优秀!