【发布时间】:2019-02-11 09:01:19
【问题描述】:
我正在制作一个 android 应用程序。我将从一台设备拨打电话并在另一台设备上接听电话,但谁能告诉我如何在呼叫方设备发起呼叫时获得接收方设备上的时间?因为我想计算拨打电话和接到电话的延迟时间?
【问题讨论】:
我正在制作一个 android 应用程序。我将从一台设备拨打电话并在另一台设备上接听电话,但谁能告诉我如何在呼叫方设备发起呼叫时获得接收方设备上的时间?因为我想计算拨打电话和接到电话的延迟时间?
【问题讨论】:
当您从一个设备调用时,您可以在 api 的帮助下将时间存储在服务器端,当您收到呼叫时,您可以再次集成 api 以获得第一个设备调用您的时间。
【讨论】:
你应该创建一个 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>
您可以节省开始时间和摘机时间。获得差异 这之间将是您想要的延迟。
【讨论】: