Android: Listen outgoing/incoming call

1, Listen outgoing call
Register a broadcast receiver with action android.intent.action.NEW_OUTGOING_CALL,
but please request to use permission android.permission.PROCESS_OUTGOING_CALLS. we can get outgoing phone number by calling
String strPhoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
in BroadcastReceiver.onReceive(xxx);


2, Listen incoming call
Use TelephonyManager and PhoneStateListener

import android.app.Activity;
import android.content .Context;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;

public class Telephony extends Activity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TelephonyManager mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
mTelephonyMgr.listen(new TeleListener(), PhoneStateListener.LISTEN_CALL_STATE);

setContentView(xxxxxxxx);
}

class TeleListener extends PhoneStateListener
{
public void onCallStateChanged(int state, String incomingNumber)
{
super.onCallStateChanged(state, incomingNumber);
switch (state)
{
case TelephonyManager.CALL_STATE_IDLE:
//CALL_STATE_IDLE;
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
//CALL_STATE_OFFHOOK;
break;
case TelephonyManager.CALL_STATE_RINGING:
//CALL_STATE_RINGING
break;
default:
break;
}
}

}
}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Linux免交互登录远程服务器并执行命令
  2. 华为认证工程师就业方向职位
  3. Redis这些知识点,是必须知道的!
  4. 别找了,你要的财务预算表都在Smartbi
  5. MySQL数据库root账户密码忘记了怎么办?
  6. Spring Boot利用Logback输出日志到指定位
  7. 三分钟教你提升应用推送的ROI
  8. 【新手必备工具】超强命令使用帮助信息--
  9. 如何停止Safari在macOS中询问位置数据?
  10. 浅析Kubernrtes服务类型(Service Types)