使用AT + CLCC命令获取最后呼叫持续时间

时间:2014-02-17 05:31:54

标签: c# at-command

我编写了一个程序,当手机连接到笔记本电脑时自动拨号并获得最后一个通话时间。我使用AT + CLCC命令获取当前通话状态。尽管它应该返回Some字符串值为.... ...等我到目前为止没有这样的东西......这是我的代码..

        _serialPort.BaudRate = 9600;
        _serialPort.Parity = Parity.None;
        _serialPort.DataBits = 8;
        _serialPort.StopBits = StopBits.One;
        _serialPort.Handshake = Handshake.None;

        // Set the read/write timeouts
        _serialPort.ReadTimeout = 500;
        _serialPort.WriteTimeout = 500;

        _serialPort.Open();
        _serialPort.DtrEnable = true;
        _serialPort.RtsEnable = true;

        string phonenr = "";
      //  string mesaj;
        if (!_serialPort.IsOpen)
        {
            _serialPort.Open();
        }
        _serialPort.WriteLine("AT\r");

        {
            Console.WriteLine("Enter the phone number:", phonenr);
            phonenr = Console.ReadLine();
            _serialPort.WriteLine("ATD" + phonenr + ";" + "\r");
            Console.WriteLine("Ring...");
            Thread.Sleep(10000);

             _serialPort.WriteLine("AT+CLCC");
            _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);


             //As a seperate function....
         private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
       {   
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        Console.WriteLine("Data Received:");
        Console.Write(indata);


    }

这段代码有什么问题????我如何得到格式的响应......等等?

1 个答案:

答案 0 :(得分:3)

AT + CLCC命令提供有关上次呼叫的信息。它在通话期间(在拨号/响铃/等待期间等)提供信息。请阅读this了解详细信息

我认为你可以让手机自动输出最后的通话详情给终端,当通话断开但我不确定它是否提供通话时间。您可能需要使用应用程序手动监视/记录时间

我看过其他帖子,你提出过类似的问题。我建议使用简单的串口终端(putty或终端等)与手机通信并掌握AT命令概念,然后再使用自己的代码控制手机。