检测是否有外拨电话已回答
一旦ACTION_NEW_OUTGOING_CALL
已广播,我需要捕获对方答案的以下事件。你能建议如何实现这一目标吗?我知道这是可能的,因为android拨号器应用程序在他们拿起时会激动地将绿色的android图标更改为该人的照片。谢谢!检测是否有外拨电话已回答
更新:我已经看到了处理传出调用的Android上的应用程序的来源。我在ContactsUtils
注意到下面的方法:
/**
* Kick off an intent to initiate a call.
*/
public static void initiateCall(Context context, CharSequence
phoneNumber) {
Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
Uri.fromParts("tel", phoneNumber.toString(), null));
context.startActivity(intent); }
我想我的答案是活动监听Intent.ACTION_CALL_PRIVILEGED
。因此,重新排列我的问题:有谁知道哪个活动处理Intent.ACTION_CALL_PRIVILEGED
?先进的感谢您
它不一定需要可能捕获此作为外部应用程序。绿色的android图标是控制调用的应用程序的一部分,因此它不需要广播来更改图标。
是的,但是,我确实需要捕捉这个事件! – mobilekid 2010-02-12 09:33:49
我不认为有这样的API,也没有用于发送DTMF的API,这是因为您无法分辨呼叫何时连接。
您可能能够做到这一点的唯一方法是通过解析Logcat日志的,没有PhoneStateListener事件可用于此。
一些在这里问它:https://code.google.com/p/android/issues/detail?id=14266
不管怎样,在上述版本的Android 4.2作为logcat的是“沙盒”,它可能是不可能的...
如果我们将app的targetSdkVersion设置为 2017-01-06 10:59:57
恐怕不是。因为这是电话应用程序的沙盒装日志。无论您的应用正在使用哪个sdk都无关紧要。 – 2017-05-29 13:51:03
至于Android的电话管理器来说你无法以编程方式检测呼叫是否已被应答。这就是说,你无法知道用户何时在另一端选择了电话。 Android有3个电话管理器状态,他们都不能检测到电话是否实际回答(如果有外拨电话)
您是否找到解决问题的方法?我也在寻找相同的解决方案。我想知道另一个最终用户是否接听了电话,或者他已断开连接 – 2011-04-27 12:42:45
目前无法检测到他们确切接听电话的时间;来电者应用程序使用内部意图。 – mobilekid 2011-04-28 14:31:32
是的,这是我今天得出的结论: - |,不管怎样,谢谢 – 2011-04-28 14:36:04