C++Builder 实现监听手机通话状态

本文介绍使用C++Builder通过IFMXPhoneDialerService接口监听电话状态变化的方法,包括不同电话状态的处理,如空闲、连接、来电、拨号和断开,并展示了如何在界面中实时显示电话状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

⒈头文件:

 

  #include <FMX.Platform.hpp>

  #include <FMX.PhoneDialer.hpp>

  // 本教程由 C++Builder 移动开发研究 (92227302) QQ群原创并群内首发,转载请注明出处,谢谢合作!

 

⒉私有变量:

 

  _di_IFMXPhoneDialerService phoneDialerService;

  bool serviceSupported;

 

⒊代码:

 

  void __fastcall TForm1::MyOnCallStateChanged(const UnicodeString aCallID, const TCallState aCallState) {

     switch (aCallState) {

      case TCallState::None:

            Label1->Text = L"No calls电话处于空闲状态正等待接入";

                break;

      case TCallState::Connected:

            Label1->Text = L"Connected有电话打入处于连接状态";

            break;

       case TCallState::Incoming:

            Label1->Text = L"Incoming call来电";

            break;

         case TCallState::Dialing:

            Label1->Text = L"Dialing电话在拨号状态";

            break;

      case TCallState::Disconnected:

            Label1->Text = L"Disconnected断开呼叫";

            break;

     }

  }

void __fastcall TForm1::FormCreate(TObject *Sender)

{

      serviceSupported = (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXPhoneDialerService)) &&

      (phoneDialerService = TPlatformServices::Current->GetPlatformService(__uuidof(IFMXPhoneDialerService))));

      if (serviceSupported) {

         phoneDialerService->OnCallStateChanged = MyOnCallStateChanged;

      }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值