【问题标题】:How can i get the time of the call initiated?我怎样才能得到发起呼叫的时间?
【发布时间】:2019-02-11 09:01:19
【问题描述】:

我正在制作一个 android 应用程序。我将从一台设备拨打电话并在另一台设备上接听电话,但谁能告诉我如何在呼叫方设备发起呼叫时获得接收方设备上的时间?因为我想计算拨打电话和接到电话的延迟时间?

【问题讨论】:

    标签: android call duration


    【解决方案1】:

    当您从一个设备调用时,您可以在 api 的帮助下将时间存储在服务器端,当您收到呼叫时,您可以再次集成 api 以获得第一个设备调用您的时间。

    【讨论】:

    • 是的,这是获得它的一种方法,无论如何没有服务器?
    • 您可以使用 Firebase 数据库 @MuhammadAbdullah
    【解决方案2】:

    你应该创建一个 BroadcastReceiver:

    public class CallReciever extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
    
            if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
                    TelephonyManager.EXTRA_STATE_RINGING)) {
    
                    // Phone number 
                    String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
    
                    // Ringing state
                    // This code will execute when the phone has an incoming call
            } else if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
                    TelephonyManager.EXTRA_STATE_IDLE)
                    || intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
                            TelephonyManager.EXTRA_STATE_OFFHOOK)) {
    
                // This code will execute when the call is answered or disconnected
            }
    
        }
    }
    

    您应该注册您的应用程序以在清单中监听这些意图:

    <receiver android:name=".CallReciever" >
                <intent-filter>
                    <action android:name="android.intent.action.PHONE_STATE" />
                </intent-filter>
     </receiver>
    

    您可以节省开始时间和摘机时间。获得差异 这之间将是您想要的延迟。

    【讨论】:

    • 那么你的意思是我将从调用者设备广播一个意图并在接收器设备上接收它,我可以在那个意图中获得时间?这就是你的意思吗?
    • 是的,或者您可以在通话时节省时间,第二次您将在摘机模式激活时节省时间。
    猜你喜欢
    • 2016-02-13
    • 2019-08-12
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多