我想知道如何在 Android 中获取通话时长,我想在用户开始通话时启动计时器,然后在特定时间后说 5 分钟后我想结束通话,所以我想知道如何我得到通话时间?
我知道我可以通过使用通话记录来获取此信息,但我有一个问题,我可以根据我的实时获取数据,当我的通话结束时,只会更新通话记录,然后只有我能够抓紧时间,但有时数据对我来说毫无用处。
我想知道如何在 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"/>