【问题标题】:Midlet crashes when calling bluetooth APIMidlet 在调用蓝牙 API 时崩溃
【发布时间】:2012-12-12 05:14:32
【问题描述】:

当我在手机上运行以下代码时,我得到黑屏,提示存在未捕获的异常,但整个块都包裹在 try/catch 块中,所以这很奇怪,无论如何,当我继续执行代码时,只会进入“获取设备.. " 所以它显然在这一行失败了:

   LocalDevice local = LocalDevice.getLocalDevice();

这是整个方法:

 public void startBT() 
            {
            try 
                    {
                        f.append("Getting device..");
                        LocalDevice local = LocalDevice.getLocalDevice();
                        f.append("Got local device..");
                        DiscoveryAgent agent = local.getDiscoveryAgent();
                        f.append("Got local discovery agent..");
                        connString = agent.selectService(new UUID(
                                "86b4d249fb8844d6a756ec265dd1f6a3", false),
                                ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
                        f.append("Got connection string - >" + connString);
            } 
                    catch (Exception ex) 
                    {
                        Alert message = new Alert("info");
                        message.setString(ex.getMessage());
                        Display.getDisplay(this).setCurrent(message);
            }
}

有什么想法吗?

【问题讨论】:

    标签: java-me bluetooth midp jsr82


    【解决方案1】:

    看起来我使用的设备不支持 JSR-82,它是 J2ME 蓝牙 API(这是内置在手机中,无法“安装”它)需要使用来自 J2ME Midlets 的蓝牙,这里是 sn-p应该检查 JSR-82 支持:

     public static boolean IsBtJsrComaptible() {
            try {
                Class.forName("javax.bluetooth.LocalDevice");
                return true;
            } catch (Exception e) {
                return false;
            }
        }
    

    请注意,我尝试在 sn-p 上运行时遇到了未捕获的异常,但它可能会在其他设备上运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多