由于毕业设计题目涉及到电话拦截这一块。所以鼓捣了一下。遇到了一些问题,总结一下,以免忘记,也希望能帮助其他新人们。
本篇博客目的:实现电话的拦截
会遇到的问题: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_RINGING){
endCall();
super.onCallStateChanged(sta

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

被折叠的 条评论
为什么被折叠?



