博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android监听来电和去电
阅读量:6352 次
发布时间:2019-06-22

本文共 1753 字,大约阅读时间需要 5 分钟。

要监听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 
2
3
4
5
6
7
8

 Android监听来电和去电 | 若水工作室

转载地址:http://nxlla.baihongyu.com/

你可能感兴趣的文章
【python】-- web开发之HTML
查看>>
vs2015 去除 git 源代码 绑定
查看>>
解决firefox的button按钮文字不能垂直居中
查看>>
网络协议端口号详解
查看>>
大话数据结构读后感——第一章
查看>>
各种排序
查看>>
ts 格式化日期输出
查看>>
Optional
查看>>
sed 命令编辑文本
查看>>
LRUCache 具体解释
查看>>
Activity调用isDestroyed()方法报出,java.lang.NoSuchMethodError
查看>>
使用AFNetworking第三方下载类
查看>>
fhq-treap小结
查看>>
about porting
查看>>
MySQL事务及ACID特性
查看>>
Hadoop_31_MapReduce参数优化
查看>>
linux运维常见英文报错中文翻译(菜鸟必知)
查看>>
[原][osgEarth]添加自由飞行漫游器
查看>>
代码审查 Code Review
查看>>
fastjson如何指定字段不序列化
查看>>