Java me 解决此J2ME蓝牙异常

Java me 解决此J2ME蓝牙异常,java-me,jsr82,Java Me,Jsr82,我是新手。我正在学习J2ME蓝牙应用程序开发。我已经写了一些简单的代码来获取本地蓝牙设备的名称。它在模拟器中运行良好。但当我在手机上尝试时,它会抛出以下错误 如果我手机中的蓝牙已关闭,则会抛出:javax.Bluetooth.BlueToothStateException 如果手机中的蓝牙已打开,则会抛出: javax.bluetooth.bluetoothstateexception:初始化-GetProperty失败 请帮助我摆脱这个错误,这样我才能继续我的学习过程 这是我的密码: impo

我是新手。我正在学习J2ME蓝牙应用程序开发。我已经写了一些简单的代码来获取本地蓝牙设备的名称。它在模拟器中运行良好。但当我在手机上尝试时,它会抛出以下错误

  • 如果我手机中的蓝牙已关闭,则会抛出:
    javax.Bluetooth.BlueToothStateException
  • 如果手机中的蓝牙已打开,则会抛出:
    javax.bluetooth.bluetoothstateexception:初始化-GetProperty失败
  • 请帮助我摆脱这个错误,这样我才能继续我的学习过程

    这是我的密码:

    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import javax.bluetooth.*;
    
    public class BluetoothApp3Midlet extends MIDlet implements CommandListener
    {
    private Display display;
    private Form form;
    private Command exit;
    private LocalDevice local = null;
    
    public void BluetoothApp3Midlet()
    {
    
    }
    
    public void startApp() 
    {
        form = new Form("Bluetooth Details");
        exit = new Command("Exit",Command.EXIT,1);
        form.addCommand(exit);
        form.setCommandListener(this);
        display = Display.getDisplay(this);
        form.append("Hello");
        form.append("World");
        if(hasBluetoothAPI())
        {
            try
            {
                local = LocalDevice.getLocalDevice();
                String address = local.getBluetoothAddress();
                String name = local.getFriendlyName();
                form.append("Address: "+address+"\n");
                form.append("Name: "+name+"\n");
            }
            catch(Exception e)
            {
                form.append("Error: "+e+"\n");
            }
        }
        else
        {
            form.append("BluetoothAPI not found\n");
        }
    
        display.setCurrent(form);
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    
    public void commandAction(Command cmd, Displayable d)
    {
        if( cmd == exit )
        {
            this.destroyApp(true);
            this.notifyDestroyed();
        }
    }
    
    public static boolean hasBluetoothAPI ()
    {
        try
        {
            Class.forName ("javax.bluetooth.LocalDevice");
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }
    }
    

    您的代码不完整。您需要实现本文中描述的其他方法

    本教程很好地描述了蓝牙连接


    您也可以查看PDF文件。

    您的代码不完整。您需要实现本文中描述的其他方法

    本教程很好地描述了蓝牙连接


    您还可以查看PDF文件。

    您必须在代码中添加
    DiscoveryAgent
    ,如:

    DiscoveryAgent agent;
    agent=local.getdiscoveryagent(discoveryagent.giac,this);
    agent.startinquiry(discoveryagent.giac,this);
    

    您必须在代码中添加
    DiscoveryAgent
    ,如:

    DiscoveryAgent agent;
    agent=local.getdiscoveryagent(discoveryagent.giac,this);
    agent.startinquiry(discoveryagent.giac,this);
    

    我在任何地方都能找到蓝牙应用程序的最低代码。同样,它在模拟器中工作良好。当我在手机上运行它时,我遇到了问题。所以我认为还有其他问题。我在任何地方都能找到蓝牙应用程序的最低代码。同样,它在模拟器中工作良好。当我在手机上运行它时,我遇到了问题。所以我认为还有其他问题。