我想创建一个应用程序,可以检测来电并在发出一定数量的哔哔声(响铃)后启动我的自定义活动,我的意思是在发出2或3或5次哔声(响铃)之后触发我的activity
。我该怎么做?
由于
答案 0 :(得分:4)
我认为您无法计算自拨打电话开始以来手机响铃次数。由于用户可以轻松地将铃声更改为非重复曲调(例如,歌曲),因此无法对单个铃声进行明确衡量。
然而,您可以做的是计算自通话到来以来经过的时间。为BroadcastReceiver
设置PHONE_STATE
(您需要清单中的相应权限才能接收事件)。收到EXTRA_STATE_RINGING
附带的PHONE_STATE
后,通过AlarmManager
设置一个警报,该警报会触发Service
,检查EXTRA_STATE_OFFHOOK
是否为{{1}}在你等待的时间之后播放了电话。如果没有,那么你可以启动你的电话答录机。
我写了a quick tutorial in my website关于如何接听电话的到来(电话响铃时),接听电话以及电话结束时的信息。
答案 1 :(得分:4)
关于检测来电和拨出电话的文章,以及分步说明: Detecting incoming and outgoing phone calls on Android
当您检测到来电时,您可以启动一个定时器,其间隔等于beepInterval * beepCount。并在此计时器上启动活动。