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.定义监听方法
public class MyPhoneCallListener extends PhoneStateListener{
public void onCallStateChanged(int state,String incomingnae)
{
switch(state)
{
case TelephonyManager.CALL_STATE_OFFHOOK:
Toast.makeText(MainActivity.this, "正在通话中。。。", Toast.LENGTH_LONG).show();
break;
case TelephonyManager.CALL_STATE_RINGING:
Toast.makeText(MainActivity.this,incomingnae, Toast.LENGTH_LONG).show();
break;
}
super.onCallStateChanged(state, incomingnae);
}
}
Myphonelistener
自定义监听方法。