gpt4 book ai didi

android - 如何在 Android 手机中获取拨出电话的状态?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:43 26 4
gpt4 key购买 nike

我注意到在 TelephonyManager 类中有 CALL_STATE_IDLE、CALL_STATE_OFFHOOK 和 CALL_STATE_RINGING。它们似乎用于接听电话。

我真正想做的是在拨出电话、接听电话或超时时收到通知。如何做到这一点?

最佳答案

我不知道你是否可以检测到定时调用,但可以区分何时开始调用。

你可以这样做,在 CALL_STATE_IDLE 中:

Uri allCalls = Uri.parse("content://call_log/calls");
String lastMinute = String.valueOf(new Date().getTime() - DAY_IN_MILISECONDS);
//before the call started
Cursor c = app.getContentResolver().query(allCalls, null, Calls.DATE + " > "
+ lastMinute, null, Calls.DATE + " desc");
c.moveToFirst();

if (c.getCount() > 0) {
int duration = Integer.parseInt(c.getString(c.getColumnIndex(Calls.DURATION)));
}

如果持续时间 > 0 则调用已接听。

显然,您应该使用其他标志来确定调用后是否调用了 CALL_STATE_IDLE。

希望这对您有所帮助,让您以正确的方式完成您正在尝试做的事情。

关于android - 如何在 Android 手机中获取拨出电话的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com