我是新手。
我正在实施一个与传入和传出呼叫详细信息相关的应用程序。
我使用brodcast接收器接听拨出电话和来电详情。
问题是当来电将会到来时,brodcast接收器会上升,
我打电话给布罗德接收器。
没关系,但是当我点击绿色按钮时,拨出电话会开始,但是
我希望有时间接听来自其他人的电话。
我是怎么做到的?
如果有人知道请帮帮我。
提前致谢。
答案 0 :(得分:1)
尝试使用TelephonyManager
if ((intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL) || (intent
.getAction()
.equals(TelephonyManager.ACTION_PHONE_STATE_CHANGED)))) {
String phoneState = intent.getExtras().getString(
TelephonyManager.EXTRA_STATE);
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
Log.d(TAG, "Outgoing call");
if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(phoneState)) {
Log.d(TAG, "Incoming call/Outgng call Started");
}
if (TelephonyManager.EXTRA_STATE_IDLE.equals(phoneState)) {
Log.d(TAG,"Call ended");
}
if (TelephonyManager.EXTRA_STATE_RINGING.equals(phoneState)) {
Log.d(TAG,"Call ringing");
}
}
答案 1 :(得分:1)
持续检查设备状态何时从CALL_STATE_IDLE更改为CALL_STATEOFFHOOK ...它会给出准确回复电话的时间