我正在实施一个触发传出警报的功能,例如:如果手机掉落并且之后没有移动60秒。然后,应该调用1-5个数字。它应该如何工作的例子:
- 电话摔倒并且不会移动60秒
- 第1号被称为
- 1号不接受20秒内的通话
- 第2号被称为
- Number 2不接受20s的电话
- 第3号被称为
- 号码3接听电话,闹钟正在终止
醇>
警报被正确触发,我可以拨打电话。但我找不到任何关于如何确定在x秒后是否接受呼叫以及如何开始新呼叫的任何内容。任何帮助/来源?
修改 通过PhoneStateListener我现在能够看到呼叫是否被取消。但是,如果不是,我就无法获得实际状态,所以我不知道它是否还在响,如果它实际上是在呼叫,或者它是否已经进入邮箱。在CALL_STATE_OFFHOOK的描述中,很明显您无法看到呼叫已被应答或拨打了号码。是否有任何解决方法,甚至可能生根电话或类似的东西?任何提示都表示赞赏。
答案 0 :(得分:1)
似乎这是不可能的。
Intent.ACTION_CALL的文档声明它没有返回输出(至少我猜那是什么哦,非常有帮助" Output: nothing
&# 34;评论意味着)。
答案 1 :(得分:0)
虽然使用意图使得它不可能,因为你无法检查状态,这不是你应该调用电话服务的方式,因为你希望你的程序可以控制。最好的方法是: a)在您的应用中启用电话权限: b)然后在您的活动中实例化Telephony manager类 c)处理Android调用状态在您的活动中拨打/收听以存储以前的状态。如果它正在“振铃”且当前状态为空闲,则他们取消了呼叫。如果当前状态摘机并且之前的状态正在响铃,他们接听了电话。在这里查看工作示例: http://www.compiletimeerror.com/2013/08/android-call-state-listener-example.html