android sdk 提供很多公用的服务,也就是系统服务,开发者可以通过Activity类的getSystemService方法获取指定的服务。系统服务包含音频服务、视频服务窗口服务等。本篇主要讲Telephony_Service.该服务用来监听通话的状态。
1.获取telphony_mannager对象
TelephonyManager tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); MyPhoneCallListener listener=new MyPhoneCallListener(); tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
获取tm对象,并实现该对象的监听
2.定义监听方法
1 public class MyPhoneCallListener extends PhoneStateListener{
2 public void onCallStateChanged(int state,String incomingnae)
3 {
4 switch(state)
5 {
6 case TelephonyManager.CALL_STATE_OFFHOOK:
7 Toast.makeText(MainActivity.this, "正在通话中。。。", Toast.LENGTH_LONG).show();
8 break;
9 case TelephonyManager.CALL_STATE_RINGING:
10 Toast.makeText(MainActivity.this,incomingnae, Toast.LENGTH_LONG).show();
11 break;
12 }
13 super.onCallStateChanged(state, incomingnae);
14 }
15 }
自定义监听方法。