gpt4 book ai didi

android - 我怎样才能知道在 android 2.3+ 上电话何时开始和停止?

转载 作者:行者123 更新时间:2023-11-30 04:01:33 25 4
gpt4 key购买 nike

我需要我的应用程序来了解通话时间。

它应该在调用另一部电话以及接听电话时工作。我只需要我的应用程序准确地收到连接开始和停止的通知(不是拨号、响铃等)。

这有可能吗?

最佳答案

您可以使用广播类来实现,如下所示:

public class PhoneStateBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

TelephonyManager telephonyManager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(new CustomPhoneStateListener(context),
PhoneStateListener.LISTEN_CALL_STATE);
}
}

class CustomPhoneStateListener extends PhoneStateListener {

// private static final String TAG = "PhoneStateChanged";
Context context; // Context to make Toast if required

public CustomPhoneStateListener(Context context) {
super();
this.context = context;
}

@Override
public void onCallStateChanged(int state, String incomingNumber) {

super.onCallStateChanged(state, incomingNumber);
switch (state) {

case TelephonyManager.CALL_STATE_IDLE:
//WHEN PHONE WILL BE IDLE
break;

case TelephonyManager.CALL_STATE_OFFHOOK:
// when Off hook i.e in call
break;

case TelephonyManager.CALL_STATE_RINGING:
// when Ringing
break;

default:
break;
}
}
}

希望对您有所帮助。

关于android - 我怎样才能知道在 android 2.3+ 上电话何时开始和停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12424133/

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