Android没有对外公开结束通话的API,如果需要结束通话,必须使用AIDL与电话管理服务进行通信,
并调用服务中的API实现结束通话,方法如下:
1.从Android的源代码中拷贝以下文件到项目中:
com/android/internal/telephony/ITelephony.aidl
android/telephony/NeighboringCellInfo.aidl
如图所示.开发工具会在gen目录下自动生成ITelephony.java
2.调用ITelephony.endCall()结束通话:
Methodmethod = Class.forName("android.os.ServiceManager")
.getMethod("getService",String.class);
IBinderbinder = (IBinder)method.invoke(null, new Object[]{TELEPHONY_SERVICE});
ITelephonytelephony = ITelephony.Stub.asInterface(binder);
telephony.endCall();
在清单文件AndroidManifest.xml中添加权限: