如何获得准确的拨出电话接收时间?

时间:2012-04-13 06:54:25

标签: android

我是新手。

我正在实施一个与传入和传出呼叫详细信息相关的应用程序。

我使用brodcast接收器接听拨出电话和来电详情。

问题是当来电将会到来时,brodcast接收器会上升,

我打电话给布罗德接收器。

没关系,但是当我点击绿色按钮时,拨出电话会开始,但是

我希望有时间接听来自其他人的电话。

我是怎么做到的?

如果有人知道请帮帮我。

提前致谢。

2 个答案:

答案 0 :(得分:1)

尝试使用TelephonyManager

if ((intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL) || (intent
                .getAction()
                .equals(TelephonyManager.ACTION_PHONE_STATE_CHANGED)))) {

            String phoneState = intent.getExtras().getString(
                    TelephonyManager.EXTRA_STATE);
            if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
                Log.d(TAG, "Outgoing call");

            if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(phoneState)) {
                Log.d(TAG, "Incoming call/Outgng call Started");

            }
            if (TelephonyManager.EXTRA_STATE_IDLE.equals(phoneState)) {
                Log.d(TAG,"Call ended");
            }
            if (TelephonyManager.EXTRA_STATE_RINGING.equals(phoneState)) {
                Log.d(TAG,"Call ringing");
            }
        }

答案 1 :(得分:1)

持续检查设备状态何时从CALL_STATE_IDLE更改为CALL_STATEOFFHOOK ...它会给出准确回复电话的时间