Java 当对方接听电话并关闭电话时,采取措施
我使用此代码调用:Java 当对方接听电话并关闭电话时,采取措施,java,android,call,Java,Android,Call,我使用此代码调用: Uri callUri = Uri.parse("tel://0000"); Intent callIntent = new Intent(Intent.ACTION_CALL,callUri); callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION); startActivity(callIntent); 我想在以下情况下做一些事情: 对方接听电话 对方
Uri callUri = Uri.parse("tel://0000");
Intent callIntent = new Intent(Intent.ACTION_CALL,callUri);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION);
startActivity(callIntent);
我想在以下情况下做一些事情:
- 对方接听电话
- 对方结束通话
- 用户关闭呼叫
- 用户在对方接听电话之前关闭电话
提前感谢您应该使用电话管理员来处理呼叫。看看下面的课程
private class PhoneCallListener extends PhoneStateListener {
private boolean phoneInACall = false;
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (TelephonyManager.CALL_STATE_RINGING == state) {
// THE PHONE IS CURRENTLY RINGING!
}
if (TelephonyManager.CALL_STATE_OFFHOOK == state) {
// THE PHONE IS ACTIVE, DIALING OR ON HOLD!
phoneInACall = true;
}
if (TelephonyManager.CALL_STATE_IDLE == state) {
// IDLE - NO ACTIVITY. IF PHONEINACALL WAS TRUE, IT MEANS THE CALL ENDED
if (phoneInACall) {
// RESTART YOUR MAIN ACTIVITY BECAUSE A CALL ENDED!
phoneCalling = false;
}
}
}
}
您可以在onCreate方法中使用此类,方法是创建此PhoneStateListener的实例,并获取TelephonyManager的实例,以调用listen方法来侦听接收指定电话状态更改的通知
PhoneCallListener phoneCallListener = new PhoneCallListener();
TelephonyManager telManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
telManager.listen(phoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);
此代码将帮助您解决问题:)祝您好运