package com.test.telephone; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log; import android.widget.TextView; public class ActivityMain extends Activity { private static final String TAG = "Telephony"; TextView view = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 获取电话管理的一个类实例 TelephonyManager mTelephonyMgr = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); // Registers a listener object to receive notification of changes in // specified telephony states // 建立一个监听器来实时监听电话的通话状态 mTelephonyMgr.listen(new TeleListener(), PhoneStateListener.LISTEN_CALL_STATE); view = new TextView(this); view.setText("listen the state of phone/n"); setContentView(view); } class TeleListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); switch (state) { // 当处于待机状态中 case TelephonyManager.CALL_STATE_IDLE: { Log.e(TAG, "CALL_STATE_IDLE"); view.append("CALL_STATE_IDLE " + "/n"); break; } // 当处于通话中 case TelephonyManager.CALL_STATE_OFFHOOK: { Log.e(TAG, "CALL_STATE_OFFHOOK"); view.append("CALL_STATE_OFFHOOK" + "/n"); break; } // 当处于拨号状态中.. case TelephonyManager.CALL_STATE_RINGING: { Log.e(TAG, "CALL_STATE_RINGING"); view.append("CALL_STATE_RINGING" + "/n"); break; } default: break; } } } } 相关权限: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 转自:http://www.dnbcw.com/biancheng/java/ljuz179503.html