首页 > 解决方案 > 如何获取android默认拨号盘呼叫断开按钮单击事件

问题描述

我尝试获取默认拨号盘呼叫断开按钮单击以获取呼叫状态例如:活动、断开连接、断开连接等。

我需要呼叫状态而不使用 InCallService 类。因为 IncallService 类仅响应自定义拨号应用程序。愿你帮我找到合适的答案。谢谢

标签: androidcallbackphone-calltelecommunicationtelecom-manager

解决方案


听起来您可能想查看 Android PhoneStateListener 类:

假设您正在进行通话,当用户通过点击通话断开按钮结束通话时,您将看到状态更改为空闲。

public void onCallStateChanged(int state, String incomingNumber) {

            switch (state) {
                case TelephonyManager.CALL_STATE_IDLE:
                    break;
                case TelephonyManager.CALL_STATE_RINGING:
                    break;
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    break;
            }
        }

检查您是否有权获取所需的特定信息:

请注意,对某些电话信息的访问是受权限保护的。您的应用程序不会收到受保护信息的更新,除非它具有在其清单文件中声明的适当权限。在适用权限的情况下,它们会在相应的 LISTEN_ 标志中注明。

如果您想实际拦截按钮单击并执行除结束通话以外的其他操作,AFAIK 不支持此操作。


推荐阅读