Ohone/android 监听电话

 OPhone系统提供了PhoneStateListener对象做为监听器的抽象,它是用于即时监测:服务状态、信号强度、消息等待指示等各方面有关电话功能状态变化的回调方法机制。想要监测来电呼叫,PhoneStateListener的onCallStateChanged方法是入口点,它把电话呼叫状态分为三种类型:空闲(IDLE)、振铃(RINGING)和摘机(OFFHOOK),其中振铃状态正是来电呼入的标志,因此具体的方法是:重新实现PhoneStateListener对象的onCallStateChanged方法,并关注RINGING状态。请看示例代码:
   
  1. class MyPhoneStateListener extends PhoneStateListener {  
  2.         public void onCallStateChanged(int state, String incoming) {  
  3.            switch (state) {  
  4.            case TelephonyManager.CALL_STATE_RINGING:  
  5.                // Ringing-振铃,有电话呼入  
  6.                Log.d(tag, "RINGING~");  
  7.                Log.d(tag, "获得来电号码:" + incoming);  
  8.                // TODO:YOU CODE  
  9.                break;  
  10.            case TelephonyManager.CALL_STATE_OFFHOOK:  
  11.                // Offhook-摘机,呼出电话已接通或呼入电话已接起  
  12.                Log.d(tag, "OFFHOOK~");  
  13.                break;  
  14.            case TelephonyManager.CALL_STATE_IDLE:  
  15.                // IDLE-空闲,结束通话状态  
  16.                Log.d(tag, "IDLE~");  
  17.                break;  
  18.            }  
  19.         }  
  20.     }  

posted @ 2010-11-02 23:06  张兴业  阅读(151)  评论(0编辑  收藏  举报