我正在制作一个android应用程序。我会从一台设备拨打电话,然后在另一台设备上接收,但是谁能告诉我我如何才能在Caller设备何时发起通话时在Receiver Device上获取时间?因为我想计算拨打电话和接听电话的延迟?
答案 0 :(得分:2)
当您从一个设备调用时,您可以借助api在服务器端存储时间,而当您收到呼叫时,您可以重新集成api以获取第一个设备调用u的时间。
答案 1 :(得分:1)
您应该创建一个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>
您可以节省开始时间和摘机时间。有所作为 在这之间会有您想要的延迟。