如何在java中使用AT命令控制手机

如何在java中使用AT命令控制手机,java,at-command,Java,At Command,我知道,通过使用AT命令,我们可以控制手机。例如,解锁屏幕,我们可以发出特定的AT命令,或向右移动到菜单,或向左或向下或向上移动,我们可以发出特定的AT命令。执行这种控制的AT命令有哪些。 多谢各位 据我所知,AT命令更多地用于电话类型的功能(拨打电话或发送短信等),而不是菜单导航等 我不完全确定这是否是您在菜单导航后的最终目标,但您可以在这里找到更多详细信息:(原始+AT命令集) 如果您想从连接到计算机的手机发送短信,您可能需要浏览以下页面: 如果您想在执行诸如发送SMS等功能时获得更多控制,

我知道,通过使用AT命令,我们可以控制手机。例如,解锁屏幕,我们可以发出特定的AT命令,或向右移动到菜单,或向左或向下或向上移动,我们可以发出特定的AT命令。执行这种控制的AT命令有哪些。
多谢各位

据我所知,AT命令更多地用于电话类型的功能(拨打电话或发送短信等),而不是菜单导航等

我不完全确定这是否是您在菜单导航后的最终目标,但您可以在这里找到更多详细信息:(原始+AT命令集)

如果您想从连接到计算机的手机发送短信,您可能需要浏览以下页面: 如果您想在执行诸如发送SMS等功能时获得更多控制,您可能需要研究“PDU模式”

一些手机制造商完全有可能实施了额外的+AT命令,以允许执行其他功能,因此您可以通过专门搜索与正在使用的手机相关的命令来做得更好

(当然,如果您在连接手机硬件本身时遇到问题,您需要确保您安装了javax.comm扩展或一些受欢迎的Java USB API)


若这篇文章并没有帮助,也许你们可以在你们的问题中提供更多的细节?(例如,如果你认为有帮助的话,你最终要做什么)

据我所知,AT命令更多地用于电话类型的功能(拨打电话或发送短信等),而不是菜单导航等

我不完全确定这是否是您在菜单导航后的最终目标,但您可以在这里找到更多详细信息:(原始+AT命令集)

如果您想从连接到计算机的手机发送短信,您可能需要浏览以下页面: 如果您想在执行诸如发送SMS等功能时获得更多控制,您可能需要研究“PDU模式”

一些手机制造商完全有可能实施了额外的+AT命令,以允许执行其他功能,因此您可以通过专门搜索与正在使用的手机相关的命令来做得更好

(当然,如果您在连接手机硬件本身时遇到问题,您需要确保您安装了javax.comm扩展或一些受欢迎的Java USB API)

若这篇文章并没有帮助,也许你们可以在你们的问题中提供更多的细节?(例如,如果你认为有帮助的话,你最终想做什么)

AT命令使用的示例java代码

 public void servicesDiscovered(int transID, ServiceRecord serviceRecord[])
    {
        String url = serviceRecord[0].getConnectionURL(1, false);
try
        {
            //ClientSession conn= (ClientSession)Connector.open(url);
            StreamConnection meineVerbindung = (StreamConnection) Connector.open(url);

            if(conn== null)
                System.out.println("Kann Service URL nicht oeffnen\n");
            else
            {

                OutputStream out = conn.openOutputStream();
                InputStream in = conn.openInputStream();

                String message = "AT+CGMI\r\n";

                // send AT-command
                System.out.println("send AT Comand request: "+message);
                out.write(message.getBytes());

                out.flush();
                out.close();

                byte buffer[] = new byte[10000];
                // read the response from mobile phone
                in.read(buffer);
                System.out.println("AT Comand response: "+buffer.toString());}            

        }
        catch(IOException e)
        {
            System.out.println("Service Error(3): "+e.getMessage());
        }

    }

AT命令使用的示例java代码

 public void servicesDiscovered(int transID, ServiceRecord serviceRecord[])
    {
        String url = serviceRecord[0].getConnectionURL(1, false);
try
        {
            //ClientSession conn= (ClientSession)Connector.open(url);
            StreamConnection meineVerbindung = (StreamConnection) Connector.open(url);

            if(conn== null)
                System.out.println("Kann Service URL nicht oeffnen\n");
            else
            {

                OutputStream out = conn.openOutputStream();
                InputStream in = conn.openInputStream();

                String message = "AT+CGMI\r\n";

                // send AT-command
                System.out.println("send AT Comand request: "+message);
                out.write(message.getBytes());

                out.flush();
                out.close();

                byte buffer[] = new byte[10000];
                // read the response from mobile phone
                in.read(buffer);
                System.out.println("AT Comand response: "+buffer.toString());}            

        }
        catch(IOException e)
        {
            System.out.println("Service Error(3): "+e.getMessage());
        }

    }

很好,请更改
conn.openOutputStream()
meineverbinding.openOutputStream()
Nice,请更改
conn.openOutputStream()
to
meineverbinding.openOutputStream()