Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中获取通话持续时间?_Android - Fatal编程技术网

如何在Android中获取通话持续时间?

如何在Android中获取通话持续时间?,android,Android,我想知道如何在Android中获得通话持续时间,我想在用户开始通话时启动计时器,然后在某个特定时间后,比如5分钟后,我想结束通话,所以我想知道如何获得通话持续时间 我知道我可以通过使用通话记录来获取这些信息,但我有一个问题,我可以根据我的情况实时获取数据吗?当我的通话结束时,只有通话记录将被更新,然后只有我才能获取时间,但此时数据对我来说是无用的。关于您的活动或服务 @Override public void onCreate() { TelephonyManager telManage

我想知道如何在Android中获得通话持续时间,我想在用户开始通话时启动计时器,然后在某个特定时间后,比如5分钟后,我想结束通话,所以我想知道如何获得通话持续时间


我知道我可以通过使用通话记录来获取这些信息,但我有一个问题,我可以根据我的情况实时获取数据吗?当我的通话结束时,只有通话记录将被更新,然后只有我才能获取时间,但此时数据对我来说是无用的。

关于您的活动或服务

@Override
public void onCreate()
{
    TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    telManager.listen(new MyPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}

class MyPhoneStateListener extends PhoneStateListener
{
    @Override
    public void onCallStateChanged(int state, String incomingNumber)
    {
        switch (state)
        {
            //When receiving an incoming call
            case TelephonyManager.CALL_STATE_RINGING:
            // Do whaterver you want
            break;

             // When user initiates a call or rigth after CALL_STATE_RINGING
            case TelephonyManager.CALL_STATE_OFFHOOK:
             // set a timer here
             break;

             // When call ended
             case TelephonyManager.CALL_STATE_IDLE:
        }
    }
}
在清单文件中添加

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>


在这里-为什么会有人想要一个在5分钟后结束通话的应用程序?@R.J只适用于来电,当用户开始通话时,不会收到电话铃声。