[英]How to get the Disconnected Phone Number in android PhoneStateListener
I am using PhoneStateListener
to listen the call State when we have incoming call, outgoing and disconnect the call. 当我们有来电,去电和断开通话时,我正在使用
PhoneStateListener
来监听通话状态。 All are working fine. 一切都很好。 But my question is i want to get the disconnected the phonenumber in
CALL_STATE_IDLE
, CALL_STATE_OFFHOOK
. 但是我的问题是我想断开与
CALL_STATE_IDLE
CALL_STATE_OFFHOOK
的电话号码的连接。
When we have incoming call i can get the incoming phone number. 当我们接到来电时,我可以获得来电号码。 But when the phone call end i cant able to get the disconnected phone number.
但是当电话结束时,我无法获得断开的电话号码。 I am using below code.
我正在使用下面的代码。
Anyone give me some ideas about how to get the phone number is CALL_STATE_IDLE
, CALL_STATE_OFFHOOK
. 任何人给我一些有关如何获取电话号码的想法是
CALL_STATE_IDLE
和CALL_STATE_OFFHOOK
。
// Call State Listener
private final class CallStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String inComingNumber) {
switch (mCallState) {
case TelephonyManager.CALL_STATE_IDLE:
if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
// New Outgoing Call
} else if (state == TelephonyManager.CALL_STATE_RINGING) {
System.out.println("New Incoming Call");
System.out.println("CallStateListener Incoming Number: " + inComingNumber);
// New Incoming Call
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if (state == TelephonyManager.CALL_STATE_IDLE) {
// Call Disconnected
System.out.println("CallStateListener Disconnected Number: " + inComingNumber);
System.out.println("Call Disconnected");
} else if (state == TelephonyManager.CALL_STATE_RINGING) {
// Another Call Waiting
}
break;
case TelephonyManager.CALL_STATE_RINGING:
if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
System.out.println("Call Received");
System.out.println("CallStateListener Received Number: " + inComingNumber);
// Call Received
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
System.out.println("CallStateListener Missed Number: " + inComingNumber);
// Call Missed
}else if(state == TelephonyManager.CALL_STATE_RINGING) {
}
break;
}
mCallState = state;
}
}
When i am using above PhoneStateListener i am getting the log as 当我在PhoneStateListener上面使用时,我将日志获取为
CallStateListener Incoming Number: 4121312323
CallStateListener Missed Number:
CallStateListener Received Number:
CallStateListener Disconnected Number:
I can get only Incoming Call Number in RINGINE State, But I can't get Call received state Phone number, Call Missed State Phone Number and Disconnected Phone Number. 在RINGINE状态下,我只能获取传入的电话号码,但在接收状态下,我无法获取呼叫号码,未接状态的电话号码和未连接的电话号码也无法获取。 Please any help guide me.
请任何帮助指导我。 Thanks
谢谢
Try to open activity like this: 尝试像这样打开活动:
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.v("idle state", "CALL_STATE_IDLE");
// CALL_STATE_IDLE ( OpenMissedCallScreen )
if (ring == true && callReceived == false && CheckMissCall.isRunning== false) {
flag = true;
if (prefs.getBoolean("main_state", true))
{
Intent inter = new Intent(c, MissCall.class);
}
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
// CALL_STATE_OFFHOOK ( OpenReceivedCallScreen )
callReceived = true;
break;
case TelephonyManager.CALL_STATE_RINGING:
ring = true;
// CALL_STATE_RINGING ( openIncomingCallScreen )
break;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.