转:自动挂断电话

2023-10-12 16:18
文章标签 自动 电话 挂断

本文主要是介绍转:自动挂断电话,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考http://gqdy365.iteye.com/blog/2173057


要把文件放到合适的位置:

ITelephony.aidl 文件时在包

com.android.internal.telephony.ITelephony;

NeighboringCell.aidl文件时在

android.telephony.NeighboringCellInfo;

在Receiver里面,ITelephony 会是红色的,这个时候需要倒入包:

import com.android.internal.telephony.ITelephony;

然后直接执行就好了。。。。。。


aidl下载地址:http://www.netmite.com/android/mydroid/1.5/frameworks/base/telephony/java/com/android/internal/telephony/ITelephony.aidl

下面我们就讲一个挂断电话的例子,我们知道,Android的api里面是

没有挂断电话的操作的

那如果我们的应用就有这样一个需求呢,那怎么办

其实也很容易,就是通过aidl来挂断电话,那么我们现在来写一下

首先,我们先把两个aidl文件复制到src目录下面


你肯定会问,这些aidl文件是在那里找到的,那么我可以告诉你,这些是Android的源码里面找到的,就是在base这个下面的


大家可以下载下来看看,如果有不会的,请看点击这里


既然把aidl文件拷贝过去之后,我们就可以写代码啦

com.xiaobin.endcall.MainActivity

[java]  view plain copy
  1. package com.xiaobin.endcall;  
  2.   
  3. import java.lang.reflect.Method;  
  4.   
  5. import com.android.internal.telephony.ITelephony;  
  6.   
  7. import android.app.Activity;  
  8. import android.os.Bundle;  
  9. import android.os.IBinder;  
  10. import android.view.View;  
  11.   
  12. public class MainActivity extends Activity  
  13. {  
  14.   
  15.     @Override  
  16.     public void onCreate(Bundle savedInstanceState)  
  17.     {  
  18.         super.onCreate(savedInstanceState);  
  19.         this.setContentView(R.layout.main);  
  20.     }  
  21.   
  22.     public void click(View v)  
  23.     {  
  24.         endCall();  
  25.     }  
  26.       
  27.     //挂断电话  
  28.     private void endCall()  
  29.     {  
  30.         try  
  31.         {  
  32.             //通过反射拿到android.os.ServiceManager里面的getService这个方法的对象  
  33.             Method method = Class.forName("android.os.ServiceManager").getMethod("getService", String.class);  
  34.             //通过反射调用这个getService方法,然后拿到IBinder对象,然后就可以进行aidl啦  
  35.             IBinder iBinder = (IBinder) method.invoke(nullnew Object[] {TELEPHONY_SERVICE});  
  36.             ITelephony telephony = ITelephony.Stub.asInterface(iBinder);  
  37.             telephony.endCall();  
  38.         }  
  39.         catch (Exception e)  
  40.         {  
  41.             e.printStackTrace();  
  42.         }  
  43.     }  
  44.       
  45. }  


因为那个服务没有公开的,所以我们就要用到反射来调用这个服务,来拿到Binder对象


还有重要的一点喔,要加上相应的权限,不然挂不断的喔

[html]  view plain copy
  1. <uses-permission android:name="android.permission.CALL_PHONE"/>  

好啦,到这里,挂断电话的操作就完成的啦,可以测试一下啦,然后我们手机卫士的这个项目的黑名单那里也有挂断电话的操作的喔


今天源码下载


这篇关于转:自动挂断电话的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/196995

相关文章

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2