Android 中如何挂断去电

android

1个回答

写回答

a749993949

2025-08-30 01:00

+ 关注

Android
Android

Android中如何挂断去电?

Android开发中,我们经常需要对来电进行处理,包括接听和挂断。本文将介绍如何在Android应用程序中挂断去电,并提供一个案例代码来演示。

检测来电状态

要挂断去电,首先需要检测来电状态。Android提供了一个TelephonyManager类,可以用于获取电话的状态信息。我们可以注册一个PhoneStateListener来监听电话状态的变化,并在电话状态改变时进行相应的处理。

下面是一个示例代码,演示了如何检测来电状态:

Java

public class MyPhoneStateListener extends PhoneStateListener {

@Override

public void onCallStateChanged(int state, String incomingNumber) {

super.onCallStateChanged(state, incomingNumber);

switch (state) {

case TelephonyManager.CALL_STATE_IDLE: // 无任何状态

// 在这里处理挂断去电的逻辑

break;

case TelephonyManager.CALL_STATE_RINGING: // 来电响铃

// 在这里处理来电响铃的逻辑

break;

case TelephonyManager.CALL_STATE_OFFHOOK: // 接听电话

// 在这里处理接听电话的逻辑

break;

}

}

}

挂断去电

一旦检测到来电状态为挂断去电,我们就可以执行相应的操作来挂断电话。Android提供了一个TelephonyManager类的endCall方法,可以用于挂断当前的电话。

下面是一个示例代码,演示了如何挂断去电:

Java

public class MAInActivity extends AppCompatActivity {

private TelephonyManager telephonyManager;

private MyPhoneStateListener phoneStateListener;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setcontentView(R.layout.activity_mAIn);

telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

phoneStateListener = new MyPhoneStateListener();

telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);

}

@Override

protected void onDestroy() {

super.onDestroy();

telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE);

}

private void endCall() {

try {

Class<TelephonyManager> telephonyManagerClass = TelephonyManager.class;

Method method = telephonyManagerClass.getDeclaredMethod("getITelephony");

method.setAccessible(true);

Object telephonyService = method.invoke(telephonyManager);

Class<?> telephonyServiceClass = telephonyService.getclass();

Method endCallMethod = telephonyServiceClass.getDeclaredMethod("endCall");

endCallMethod.invoke(telephonyService);

} catch (Exception e) {

e.printStackTrace();

}

}

}

通过使用TelephonyManager类和PhoneStateListener来监听电话状态的变化,我们可以在Android应用程序中实现挂断去电的功能。在挂断去电时,可以使用TelephonyManager类的endCall方法来执行挂断操作。

以上是关于Android中如何挂断去电的介绍,希望对你有所帮助!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号