Question

When I run following code on my phone I get black screen saying there was uncaught exception but whole block is wrapped in try/catch block so it is weird, anyway when I proceed with execution code just gets to "Getting device.." so it obviously fails on this line:

   LocalDevice local = LocalDevice.getLocalDevice();

Here is whole method:

 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);
            }
}

Any ideas?

Was it helpful?

Solution

It looks like device I used doesn't support JSR-82 which is J2ME Bluetooth API(this is built into phone, no way of "installing" it) required to use Bluetooth from J2ME Midlets,here is snippet which should check for JSR-82 support:

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

Please note that I got uncaught exception trying to run above snippet, but maybe it would work on some other device.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top