3

我正在使用以下方法检查蓝牙是否打开;

while (!isOn) {
    isOn = LocalDevice.isPowerOn();

    if (isOn) {
        startProcess();
        break;
    }

    try {
        Thread.sleep(10000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

但是,我认为这会吃掉电话资源。我正在寻找某种监听器(例如 Android 中的 BroadcastReceivers),它会在用户打开蓝牙时通知我。我已经用谷歌搜索了它,也搜索了黑莓社区论坛,但没有找到任何解决方案。如果你们中的任何人引导我朝着正确的方向前进,那就太好了。

我的开发环境;

  • 黑莓 JDE Eclipse 插件 1.5.0
  • 针对 BlackBerry JRE 5.0
4

1 回答 1

3

几年前,我尝试为 OS 5.0 构建一个蓝牙应用程序,需要这个,但我从未发现它在 API 中可用(所以我根本没有构建该应用程序)。

但是,您拥有示例代码的方式看起来并不十分浪费。每 10 秒检查一次并不多。操作系统以比这更快的速度执行许多其他检查。我能看到的唯一问题是 RIM 是否以某种非常低效的方式实现了该调用 ( isPowerOn())。

但是,真的,你的程序太短了,我认为最好的办法是构建它,让它在你睡觉时在你的手机上运行,​​然后将电池电量与第二天晚上,当你不运行应用程序。一个好的实验比我有用得多:)

于 2012-07-25T08:53:48.493 回答