如何在android中查找呼叫是否已应答
我想启动一个计时器,只有当呼出的电话已被接听。就像Nexus 5中的默认手机应用程序一样 有没有办法确定电话是否已接听 我在拨完电话号码后立即尝试了电话侦听器,它可以呼叫\u STATE\u OFFHOOK。所以这不是正确的方法 有人能帮我弄清楚吗如何在android中查找呼叫是否已应答,android,Android,我想启动一个计时器,只有当呼出的电话已被接听。就像Nexus 5中的默认手机应用程序一样 有没有办法确定电话是否已接听 我在拨完电话号码后立即尝试了电话侦听器,它可以呼叫\u STATE\u OFFHOOK。所以这不是正确的方法 有人能帮我弄清楚吗 谢谢 这本书可以帮助您: public class CallLogReceiver extends BroadcastReceiver { static boolean missedCall, incomingCall; @Override pu
谢谢 这本书可以帮助您:
public class CallLogReceiver extends BroadcastReceiver {
static boolean missedCall, incomingCall;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals("android.intent.action.PHONE_STATE")) {
String state = intent.getExtras().getString(
TelephonyManager.EXTRA_STATE);
if ((state != null)
&& (state.equals(TelephonyManager.EXTRA_STATE_RINGING))) {
CallLogReceiver.phoneNo = intent.getExtras().getString(
"incoming_number");
CallLogReceiver.missedCall = true;
}
if ((state != null)
&& (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))) {
CallLogReceiver.incomingCall = true;
}
if (state != null
&& !(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))
&& !(state.equals(TelephonyManager.EXTRA_STATE_RINGING))) {
if (CallLogReceiver.missedCall && CallLogReceiver.incomingCall) {
//incoming call logic
}
else if (CallLogReceiver.missedCall
&& !CallLogReceiver.incomingCall) {
// missed call logic
}
CallLogReceiver.missedCall = CallLogReceiver.incomingCall = false;
}
}
}
}
可能重复的我仍然有相同的问题-在我按下拨号键后,它立即进入状态\u OFFHOOK。不,您的代码中有一些问题,因为当您拨打电话号码时,状态处于额外状态\u RINGING,当您拿起时,状态处于额外状态\u OFFHOOK…尝试调试