Android电话拦截实现以及TelephonyManager监听的取消

本文主要介绍了在Android系统中如何实现电话拦截功能,并详细讨论了在Android Studio中使用AIDL处理TelephonyManager监听的取消过程。通过TelephonyManager的状态变化,如IDLE、RINGING和OFFHOOK,结合PhoneStateListener.LISTEN_NONE来停止监听。关键步骤包括创建ITelephony.aidl文件,利用反射调用PHONE类的隐藏API,以达到电话拦截的目的。
摘要由CSDN通过智能技术生成

由于毕业设计题目涉及到电话拦截这一块。所以鼓捣了一下。遇到了一些问题,总结一下,以免忘记,也希望能帮助其他新人们。

本篇博客目的:实现电话的拦截

会遇到的问题:android studio下AIDL的使用,TelephonyManager.Listen()的监听取消。

首先,电话状态监听需要涉及到系统服务TelephonyManager,我们需要获取到他的实例

 mTelephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
     

之后我们就可以向他添加状态改变的监听,需要重写监听器PhoneStateListener

他的state值有如下几种

TelephonyManager.CALL_STATE_IDLE:  空闲状态
TelephonyManager.CALL_STATE_RINGING:  响铃状态
TelephonyManager.CALL_STATE_OFFHOOK:  挂掉电话

    class MyPhoneListener extends PhoneStateListener{

            @Override
            public void onCallStateChanged(int state, String incomingNumber) {
                if(state==TelephonyManager.CALL_STATE_RIN
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值