要监听android打电话和接电话,只需下面2步骤
1.第一步,写一个Receiver继承自BroadcastReceiver

 1 import android.app.Service; 2 import android.content.BroadcastReceiver; 3 import android.content.Context; 4 import android.content.Intent; 5 import android.telephony.TelephonyManager; 6 import android.util.Log; 7  8 public class PhoneStateBroadCastReceiver extends BroadcastReceiver 9 {10  private static final String TAG = "PhoneStateBroadCastReceiver";11 12  private static boolean mIncomingFlag = false;13  private static String mIncomingNumber = null;14 15  @Override16  public void onReceive(Context context, Intent intent)17  {18   // 如果是拨打电话19   if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL))20   {21    mIncomingFlag = false;22    String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);23    Log.i(TAG, "call OUT:" + phoneNumber);24   } else25   {26    // 如果是来电27    TelephonyManager tManager =28    (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);29    switch (tManager.getCallState())30    {31    case TelephonyManager.CALL_STATE_RINGING:32     mIncomingNumber = intent.getStringExtra("incoming_number");33     Log.i(TAG, "RINGING :" + mIncomingNumber);34     break;35    case TelephonyManager.CALL_STATE_OFFHOOK:36     if (mIncomingFlag)37     {38      Log.i(TAG, "incoming ACCEPT :" + mIncomingNumber);39     }40     break;41    case TelephonyManager.CALL_STATE_IDLE:42     if (mIncomingFlag)43     {44      Log.i(TAG, "incoming IDLE");45     }46     break;47    }48   }49  }50 51 }

第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,
另外注意加上相应的权限

1 <receiver android:name=".broadcase.PhoneStateBroadCastReceiver"> 2             <intent-filter>3                <action android:name="android.intent.action.PHONE_STATE"/>          4                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />5            </intent-filter>6   </receiver>7 <uses-permission android:name="android.permission.READ_PHONE_STATE" />8 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

Android监听来电和去电 | 若水工作室 http://www.92coding.com/blog/index.php/archives/46.html

更多相关文章

  1. Android(安卓)studio 打包apk如何重命名apk名称
  2. android 手势监听和多点触摸 笔记
  3. android 创建一个实时监听的系统Service
  4. Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发
  5. Android(安卓)Studio中Edittext监听回车事件,捕获手机和扫描枪的
  6. android之知识点小结二
  7. Android(安卓)监听EditText文本输入 EditText监听事和输入事件
  8. Android网络状态监听
  9. Android又一个超漂亮的日历控件

随机推荐

  1. Android多点触控技术
  2. 往android的内核添加驱动及ueventd.rc 修
  3. Android(安卓)播放Gif 动画
  4. Android之 设备的超级管理员
  5. 数据库的CURD操作、PDO本质与原理的学习
  6. 字体图标的引用和自定义样式/媒体查询的
  7. HTML样式和常用选择器
  8. 字体图标的引入和通过媒体查询改变导航样
  9. 何搭建Android的开发环境->安装虚拟机篇(
  10. Android(安卓)敏感 API 的说明