Android 各版本挂断电话方法演进及最佳实践
文章目录
一、背景介绍
Android系统中挂断电话的方法随着版本的演进发生了多次变化。本文将详细介绍从Android 8.0到最新版本的实现方法,以及各个版本的兼容性处理方案。
二、Android 10之前的实现方式
2.1 源码分析
在Android 8.0和9.0中,ITelephony.aidl提供了endCall()接口:
而在Android 10源码中,已经移除了endCall()接口。
2.2 实现代码
// Android 10之前的实现方式
public void endCall() {
try {
// 1. 通过类加载器加载相应类
Class<?> loadClass = getClassLoader().loadClass("android.os.ServiceManager");
// 2. 获取getService方法
Method method = loadClass.getDeclaredMethod("getService", String.class);
// 3. 执行方法获取IBinder对象
IBinder invoke = (IBinder) method.invoke(null, Context.TELEPHONY_SERVICE);
// 4. 转换为ITeleph

最低0.47元/天 解锁文章
4086

被折叠的 条评论
为什么被折叠?



