Android 检测手机开始响铃拨打外线电话的时间

Android 检测手机开始响铃拨打外线电话的时间,android,phone-call,telephony,Android,Phone Call,Telephony,如何检测手机开始拨打外线电话的时间。 我正在开发一个应用程序,在这个应用程序中,我试图通过编程方式拨打电话,并且在连接电话时(响铃)。我想得到一些回复(如已连接)。我尝试下面的代码,它可以打电话,但不知道如何得到回应 Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"mobile no.")); startActivity(callIntent); 提前感谢您的时间和考虑 编辑:当传

如何检测手机开始拨打外线电话的时间。 我正在开发一个应用程序,在这个应用程序中,我试图通过编程方式拨打电话,并且在连接电话时(响铃)。我想得到一些回复(如已连接)。我尝试下面的代码,它可以打电话,但不知道如何得到回应

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"mobile no.")); 
             startActivity(callIntent);
提前感谢您的时间和考虑


编辑:当传出呼叫处于连接状态(振铃状态)时,我希望收到回复通知。比如祝酒或其他相关的事情。可能吗

您必须使用BroadcastReceiver来监听呼叫事件,然后在它被触发时处理它。这是我在谷歌上找到的一个不错的教程


常规非系统应用程序无法检测到它-没有Android API。 我找不到办法,我在很长时间内用谷歌搜索解决方案:-(


无法(很遗憾,因为我需要它)检测传出呼叫开始响起的时间。

我知道已经有一段时间了,但我希望对仍在寻找解决方案的人有所帮助

我最近不得不做一个类似的项目,在那里我需要捕捉传出呼叫的响铃状态,我能找到的唯一方法是使用本机拨号应用程序的隐藏Api。由于Api的变化,这只适用于android>5.0。这在android 5.0.1上进行了测试,效果非常好。(另外,你需要一个根设备才能让它工作,因为你需要将你的应用程序安装为一个系统应用程序(google how!),这样才能检测出呼出状态)

作为记录,PhoneStateListener不适用于检测许多帖子中提到的传出呼叫状态

首先,在清单文件中添加此权限

<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
我用它们的值替换了一些常量,因为我看到很多不熟悉反射概念的人(为了方便起见)感到困惑。 警报基本上是接收器实际振铃时的状态!这不包括呼叫设置时间!因此您可以使用

System.currentTimeMillis();

或者您更喜欢的其他格式!

从我的堆栈交换应用程序中回答我想要在电话开始响时响应呼叫者或呼叫者?我想要呼叫者响应您找到跟踪呼叫计时器事件的答案了吗?即使我正在寻找相同的答案,我也还没有找到任何解决方案
System.currentTimeMillis();