gpt4 book ai didi

android - 不使用 ACTION_PHONE_STATE_CHANGED 获取当前来电者电话号码

转载 作者:行者123 更新时间:2023-11-29 22:25:38 25 4
gpt4 key购买 nike

我有一个应用程序需要检查是否有来自特定联系人的持续通话。

我知道我可以使用 ACTION_PHONE_STATE_CHANGED 广播 Intent 在 CALL_STATE_RINGING 获取主叫电话号码,但我想做的是使用 TelephonyManager.getCallState 函数,以防有 Activity 调用(CALL_STATE_RINGING 或 CALL_STATE_OFFHOOK ), 以获取来电者的电话号码。

有什么想法吗?

最佳答案

所以,在进一步调查之后,我现在确定没有简单的方法...

我最后做的是听取 ACTION_PHONE_STATE_CHANGED 和 NEW_OUTGOING_CALL 广播 Intent ,当我收到它们时,注册一个粘性广播(我创建的一个),其中包含一个额外的电话号码和一个来电或去电的指示.当我收到带有 CALL_STATE_IDLE 的 ACTION_PHONE_STATE_CHANGED 时,我会删除该粘性 Intent 。

现在,当我需要知道是否有通话时,我会尝试获取粘性广播(registerReciever with null receiver),如果有粘性可用,我可以获得电话号码和传入/传出指示打电话。

仍然可以改进的一件事是更好地处理等待调用,因为 ACTION_PHONE_STATE_CHANGED 将在 Activity 调用期间收到,我不能说哪个是 Activity 的(see related question)

关于android - 不使用 ACTION_PHONE_STATE_CHANGED 获取当前来电者电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6032973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com