如何在安卓手机上获取未接来电事件?

4

如何在Android中捕获未接来电事件?通知栏可以显示未接来电。使用电话管理器和电话状态监听器,可以将电话状态读取为IDLE、RINGING和OFFHOOK。但是如何知道这是一通未接来电呢?请帮忙。


你能解决你的问题吗?我也在尝试做同样的事情,但找不到解决方案。 - Shaista Naaz
2个回答

1

为RINGING和OFFHOOK设置不同的标志变量。

在电话状态监听器中,当手机进入IDLE状态时检查标志。

确保你有一个用于通话挂断按钮的keydown监听器..

如果标志被设置为RINGING并且从通话挂断中释放,则是未接来电...

这只是一些方法列表..该库支持电话监听器和keydown方法的功能。


如何获取呼叫剪切按钮的按键监听器? - indira
public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_ENDCALL: //你的代码 return true; } return super.onKeyDown(keyCode, event); } - Jana
此监听器未捕获EndCall事件。 - indira

0

我认为你不会收到任何未接来电的通知。

您可以从中获取ACTION_PHONE_STATE_CHANGED事件,以按照以下顺序跟踪事件

EXTRA_STATE_RINGINGEXTRA_STATE_OFFHOOK 再到 EXTRA_STATE_IDLE

然后检查通话记录并从那里获取未接来电的详细信息。


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