You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android中每秒获取当前活跃通话的实时时长?

Android通话实时时长展示的最优平台方案

针对你需要实时展示活跃通话时长、解决设备重启后失效的问题,推荐使用Android系统原生的Telephony API和监听机制,无需自行用TimerTask计算,准确性和稳定性都有保障:

一、核心可用的系统API与监听方式

1. PhoneStateListener 实时回调通话时长

直接通过TelephonyManager注册PhoneStateListener,系统会主动推送通话状态和实时时长:

  • onCallDurationChanged(long duration):每次通话时长变化时都会回调,duration是当前通话的总秒数,直接转成时分秒格式更新UI即可,完全不用自己计算开始时间。
  • 配合onCallStateChanged监听通话接通/挂断状态,用来控制UI更新的启停。

示例代码:

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callListener = new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String phoneNumber) {
        super.onCallStateChanged(state, phoneNumber);
        switch (state) {
            case TelephonyManager.CALL_STATE_OFFHOOK:
                // 通话已接通,准备开始更新时长UI
                break;
            case TelephonyManager.CALL_STATE_IDLE:
                // 通话结束,停止UI更新
                break;
        }
    }

    @Override
    public void onCallDurationChanged(long duration) {
        super.onCallDurationChanged(duration);
        // 转换为时分秒格式,切到主线程更新UI
        String timeStr = String.format("%02d:%02d",
                TimeUnit.SECONDS.toMinutes(duration),
                duration % 60);
        runOnUiThread(() -> yourDurationTextView.setText(timeStr));
    }
};
// 注册监听通话状态和时长变化
telephonyManager.listen(callListener, PhoneStateListener.LISTEN_CALL_DURATION | PhoneStateListener.LISTEN_CALL_STATE);

2. 系统广播补充:android.intent.action.PHONE_STATE

如果需要更灵活的状态监听,可以注册这个动态广播接收器(Android 10+静态注册无效),收到广播后通过TelephonyManager获取当前通话时长。不过实时性不如PhoneStateListener,适合作为备用方案。

二、解决设备重启后的失效问题

设备重启后,只要在应用启动时重新注册监听即可:

  • 可以把监听初始化放在Application的onCreate方法里,保证应用一启动就开始监听;
  • 或者在主页面的onResume中注册,onPause中注销(如果只需要前台监听的话);
  • 如果需要后台持续监听,得申请FOREGROUND_SERVICE权限,把监听逻辑放在前台服务里,避免被系统回收。

三、必备权限

  • Android 6.0及以上,需要动态申请READ_PHONE_STATE权限;
  • Android 8.0及以上后台监听的话,额外需要FOREGROUND_SERVICE权限。

内容的提问来源于stack exchange,提问作者Akshay Chopde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 10:35:12