如何检测和管理Android手机的来电?

3
我想创建一个应用程序,可以检测来电,并在一定数量的响铃后启动我的自定义活动。我是指在2、3或5次响铃后,我的activity被触发。我该怎么做?
谢谢。

抱歉,我不理解你的问题。你能否换个说法或者举个例子? - RMT
好的,伙计,我想说清楚,我想制作一个自动答录机,当有人打电话给我时,在2或3声响后我的活动将开始,我该怎么做? - Mr.James
2
@Pars - 我在这里提供一个非常好的SO链接,应该可以帮助你完成这个任务。看看这个链接 - https://dev59.com/IG025IYBdhLWcg3wYFCH. - Perception
你想要阻止电话吗?还是只想在来电时启动一个Activity/Service? - Vaibhav Jani
当有来电时,@Vaibhav Jani 启动一个 Activity/Service。 - Mr.James
1
@Pars https://dev59.com/nG025IYBdhLWcg3wi2iw#5949116 - Vaibhav Jani
2个回答

4

以下是有关在Android上检测来电和去电的文章,包含逐步说明:

检测来电和去电

当您检测到来电时,可以启动一个定时器,并将其间隔设置为 beepInterval * beepCount。然后在此定时器上启动活动。


谢谢您发布您的答案!请务必仔细阅读自我宣传常见问题解答。特别需要注意的是,请记住FAQ中关于如果您的大多数帖子都包含到您网站的链接所述内容。 - Andrew Barber

4

我认为你不能计算自来电开始以来电话铃声响了多少次。单个铃声无法进行明确的计量,因为用户可以轻易地将铃声更改为非重复的曲调,例如歌曲。

但是,您可以计算自接听电话以来经过的时间。为PHONE_STATE设置BroadcastReceiver(您需要在清单中拥有相应的权限才能接收事件)。一旦您收到伴随PHONE_STATE传来的EXTRA_STATE_RINGING,则通过AlarmManager设置一个闹钟,该闹钟将触发一个Service,该服务将检查EXTRA_STATE_OFFHOOK(当通话被接听时广播)是否已在等待时间后广播。如果没有,那么您可以启动您的答录机。

我在我的网站上写了一个快速教程, 介绍如何捕获电话的到达(即电话铃响),接听电话和结束通话。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接