2010-12-07 109 views
2

我想在android应用程序中检测传出呼叫。实际上,我可以检测传出呼叫,但它也适用于传入呼叫,我不希望这样。我需要它只能用于传出。这里是我的代码....在PhoneStateListener中传出呼叫检测

boolean ringing = false; 
boolean offhook = false; 

public void onCallStateChanged(int state, String incomingNumber) { 

    switch (state) { 


    case TelephonyManager.CALL_STATE_IDLE: 

if((!ringing)&& offhook){ 
       ///incomming call 
     } 
      break; 
case TelephonyManager.CALL_STATE_RINGING: 

    callerPhoneNumber = incomingNumber; 
Log.d(TAG, "RINGING"); 
ringing = true; 
offhook = false;  
break; 

    case TelephonyManager.CALL_STATE_OFFHOOK: 

Log.d(TAG, "OFFHOOK"); 
offhook = true; 
ringing = false; 
break; 
} 

回答

6

你可以写一个广播接收器为android.intent.action.NEW_OUTGOING_CALL

See here示例代码,请

+0

非常感谢....但我怎么能启动和停止广播接收器。这是wahy我正在使用服务和实施phonestatelistener服务,在这里我没有选择检测传出的呼叫。 – Sujit 2010-12-07 17:19:38