package com.test.telephone;</p><p>import android.app.Activity;<br />import android.content.Context;<br />import android.os.Bundle;<br />import android.telephony.PhoneStateListener;<br />import android.telephony.TelephonyManager;<br />import android.util.Log;<br />import android.widget.TextView;</p><p>public class ActivityMain extends Activity {</p><p>private static final String TAG = "Telephony";<br />TextView view = null;</p><p>@Override<br />protected void onCreate(Bundle savedInstanceState) {<br />super.onCreate(savedInstanceState);<br />// 擷取電話管理的一個類執行個體<br />TelephonyManager mTelephonyMgr = (TelephonyManager) this<br />.getSystemService(Context.TELEPHONY_SERVICE);<br />// Registers a listener object to receive notification of changes in<br />// specified telephony states<br />// 建立一個監聽器來即時監聽電話的通話狀態<br />mTelephonyMgr.listen(new TeleListener(),<br />PhoneStateListener.LISTEN_CALL_STATE);<br />view = new TextView(this);<br />view.setText("listen the state of phone/n");<br />setContentView(view);<br />}</p><p>class TeleListener extends PhoneStateListener {</p><p>@Override<br />public void onCallStateChanged(int state, String incomingNumber) {<br />super.onCallStateChanged(state, incomingNumber);<br />switch (state) {<br />// 當處於待機狀態中<br />case TelephonyManager.CALL_STATE_IDLE: {<br />Log.e(TAG, "CALL_STATE_IDLE");<br />view.append("CALL_STATE_IDLE " + "/n");<br />break;<br />}<br />// 當處於通話中<br />case TelephonyManager.CALL_STATE_OFFHOOK: {<br />Log.e(TAG, "CALL_STATE_OFFHOOK");<br />view.append("CALL_STATE_OFFHOOK" + "/n");<br />break;<br />}<br />// 當處於撥號狀態中..<br />case TelephonyManager.CALL_STATE_RINGING: {<br />Log.e(TAG, "CALL_STATE_RINGING");<br />view.append("CALL_STATE_RINGING" + "/n");<br />break;<br />}<br />default:<br />break;<br />}<br />}</p><p>}</p><p>}</p><p>
相關許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
轉自:http://www.dnbcw.com/biancheng/java/ljuz179503.html