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 }
自定义监听方法。