android监听用户的拨打电话的状态

时间:2022-11-10 09:55:51

TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
   PhoneStateListener pl=new PhoneStateListener(){

   @Override
   public void onCallStateChanged(int state, String incomingNumber) {
    // TODO Auto-generated method stub
    super.onCallStateChanged(state, incomingNumber);
    if(state==TelephonyManager.CALL_STATE_IDLE)          //CALL_STATE_OFFHOOK )
    {
     startKld();
    }
  }
   };
  tm.listen(pl, PhoneStateListener.LISTEN_CALL_STATE );

其中的TelephonyManager.CALL_STATE_IDLE说明没有拨打电话的界面的时候,也就是在拨打电话前和挂电话后的情况;

TelephonyManager.CALL_STATE_OFFHOOK ,SDK是这样解释的,至少有一个电话存在、拨出或激活、接听,而没有一个电话在通话或等待的状态;

CALL_STATE_RINGING是在通话的过程中。

监听到做什么事情就是在onCallStateChanged(int state, String incomingNumber) 里实现的


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xuxinyl/archive/2010/11/24/6032908.aspx