Java me Midlet在调用bluetooth API时崩溃
当我在手机上运行以下代码时,我会看到黑屏,显示有未捕获的异常,但整个块被包装在try/catch块中,所以这很奇怪,不管怎样,当我继续执行代码时,代码刚好到达“Getting device…”,所以它显然在这一行失败:Java me Midlet在调用bluetooth API时崩溃,java-me,bluetooth,midp,jsr82,Java Me,Bluetooth,Midp,Jsr82,当我在手机上运行以下代码时,我会看到黑屏,显示有未捕获的异常,但整个块被包装在try/catch块中,所以这很奇怪,不管怎样,当我继续执行代码时,代码刚好到达“Getting device…”,所以它显然在这一行失败: LocalDevice local = LocalDevice.getLocalDevice(); 以下是整个方法: public void startBT() { try {
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);
}
}
有什么想法吗?我使用的设备似乎不支持JSR-82,而JSR-82是J2ME蓝牙API(内置在手机中,无法“安装”它)从J2ME MIDlet使用蓝牙所需的,下面是一个片段,应该检查JSR-82的支持:
public static boolean IsBtJsrComaptible() {
try {
Class.forName("javax.bluetooth.LocalDevice");
return true;
} catch (Exception e) {
return false;
}
}
请注意,我在尝试运行上述代码段时遇到了未捕获的异常,但可能它会在其他设备上工作。我使用的设备似乎不支持JSR-82,它是J2ME蓝牙API(内置在手机中,无法“安装”它),需要从J2ME MIDlet使用蓝牙,下面是应该检查JSR-82支持的代码段:
public static boolean IsBtJsrComaptible() {
try {
Class.forName("javax.bluetooth.LocalDevice");
return true;
} catch (Exception e) {
return false;
}
}
请注意,我在尝试运行上述代码段时遇到了未捕获的异常,但可能它可以在其他设备上运行