【问题标题】:Supported Bluetooth Version支持的蓝牙版本
【发布时间】:2018-04-30 05:52:45
【问题描述】:

我想知道,API 级别 > 14 的 Android 手机是否支持蓝牙 2.0 版?我正在尝试从具有 Android 版本 4.0.4 的 Sony XPeria S 手机打印到手机 printer named Fujitsu FTP-628WSL。我们已经使用三星 Galaxy SII (Android 2.3.x) 成功地在该打印机上打印。索尼 XPeria S 成功打印到Bixolon SPP-R200(我认为它有 BT 版本 2.1,但我不是 100% 确定......它肯定比富士通更新几年) - 可能是富士通的蓝牙根本不支持版本?

我已经通过了:

我们正在为两台打印机使用安全的 RFComm 连接。可以配对 Fujitsu 并连接到它,但对我来说似乎相当不稳定,并且打印无法使用以下错误消息:

11-19 14:42:13.647: E/BluetoothService.cpp(329): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (**Invalid discovery session**)
11-19 14:42:19.677: E/app.BluetoothConnection(14736): Failed to connect to rfcomm socket.Service discovery failed

我试图找到有关“无效发现会话”的一些信息 - 没有成功。

【问题讨论】:

    标签: android bluetooth printers


    【解决方案1】:

    Android 在 API 5 中添加了蓝牙 2 支持,在 API ~14 中添加了蓝牙 4 LE。

    Android 手机支持的蓝牙版本也取决于手机型号 - 不同的手机具有不同的蓝牙硬件和不同的蓝牙堆栈。

    (Galaxy Nexus 4.0.4 的情况变得非常奇怪。它具有蓝牙 4 的 API 和硬件支持,但缺少堆栈中的支持 - 幸运的是,这已在 Android 4.2 中得到纠正。)

    在您的情况下,您的手机/堆栈/api 支持蓝牙 2 没有问题,但是蓝牙配置文件呢?也许您正在尝试使用蓝牙打印配置文件,而您的设备可能不支持它?也许您可以通过 PC 连接到您的手机并枚举支持的配置文件以查看它是否具有 BPP(基本打印配置文件)。

    您还应该验证您的打印机是否支持哪个配置文件 - 我只是在猜测 BPP。

    【讨论】:

    • Fuitsu 打印机确实可以在三星 Galaxy SII(使用 Android 2.3.x)上工作 - 与在 Android 4.0.4 上使用的代码库相同 - 所以从你所说的来看,我想在技术上富士通应该得到支持并且在技术上应该可以工作吗?据我所知,我没有使用特定的个人资料。我们将原始字节发送到打印机以进行打印。它仅在 4.0.4 上似乎不稳定 - 在 Android 2.3.x 上它运行良好。
    • 小更新:我刚刚检查了这个:ipcprint.com/products/mobile/ftp-628-wsl,它说的是富士通:“蓝牙接口版本 1.1(SPP 配置文件)”。这并不意味着蓝牙版本 1.1 - 对吧?因为那将是......我猜Android不支持。编辑:富士通显然是在 2004 年 3 月发布的。
    • 如果打印机需要 SPP 那么你应该(理论上)没问题。您的应用程序将使用 SPP 与打印机对话。版本 2 向后兼容 1.1,所以没问题。不同的手机使用不同的蓝牙堆栈,因此在行为上存在怪癖和差异。
    • 好的,那么感谢您提供的信息 :) 我想这足以让我继续解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 2019-05-03
    相关资源
    最近更新 更多