Android自动挂断电话

Android中高版本拦截到骚扰电话自动挂断的实现 #前言 在安卓低版本中,直接可以通过API的方式来实现,在高版本中,我们不可以直接挂断电话。原因也就不说了,都清楚。 #具体实现   在高版本中,我们需要用反射机制,来调用系统底层的电话服务,而我们通过getSystemService方法获得到的只是一个代理类,并不是真正的IBinder对象。 如果我们想挂断电话,需要把两个系统的aidl文件复制进我们的工程里面,来 阅读详情

Android自动挂断电话  

android的新版本已经把Phone类给隐藏起来了,想要用代码实现挂断电话,就必须通过AIDL才行,

第一步:在程序中新建一个包,包名必须为:com.android.internal.telephony,因为要使用aidl,

第二步:在这个包里面新建一个名为ITelephony.aidl的文件,然后在文件里面写入代码:

package com.android.internal.telephony;
interface ITelephony{
boolean endCall();
void answerRingingCall();
}

然后保存,eclipse会自动在gen文件夹下生成一个ITelephony.java的类。

主程序的代码如下:

package ling.Phonemanager;

import java.lang.reflect.Method;

import android.app.Activity;
import android.os.Bundle;
import android.os.RemoteException;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;

import com.android.internal.telephony.ITelephony;
public class Phonemanager extends Activity {
    /** Called when the activity is first created. */
    private ITelephony  iTelephony;
    private TelephonyManager manager;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        phoner();
        manager.listen(new PhoneStateListener(){

   @Override
   public void onCallStateChanged(int state, String incomingNumber) {
    // TODO Auto-generated method stub
    super.onCallStateChanged(state, incomingNumber);
    switch(state){
    //判断是否有电话接入
    case 1:
     try {
      //当电话接入时,自动挂断。
      iTelephony.endCall();
      System.out.println("uncall");
     } catch (RemoteException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   }
         
        }, PhoneStateListener.LISTEN_CALL_STATE);

    }
    public void phoner(){
     manager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
        Class <TelephonyManager> c = TelephonyManager.class;  
         Method getITelephonyMethod = null;  
         try {  
                getITelephonyMethod = c.getDeclaredMethod("getITelephony", (Class[])null);  
                getITelephonyMethod.setAccessible(true);  
          iTelephony = (ITelephony) getITelephonyMethod.invoke(manager, (Object[])null);  
         } catch (IllegalArgumentException e) {  
               e.printStackTrace();  
         } catch (Exception e) {  
              e.printStackTrace(); 

         } 
    }
}

只要在电话接入时,再加上一个判断电话号码是否是黑名单的功能,就可以做成一个黑名单的程序了,获取电话号码的函数是:getLine1Number();

 

还需要在AndroidManifest.xlm里添加

<uses-permission android:name="android.permission.READ_PHONE_STATE" />权限

 

 

就大神帮忙看一下Android自动挂断电话功能,测试了好久,就是不能自动挂断。 就大神帮忙看一下Android自动挂断电话功能,测试了好久,就是不能自动挂断。 private void stopCallPhone() { try { hangUpInterval = et_hand_up_interval.getText().toString(); if (hangUpInterval != null &amp... 阅读详情

相关推荐

安卓电话自动化:实现自动接听与挂断功能

在当今智能手机的日常使用中,自动接听和挂断电话已成为一项需求,尤其是在特定场景中,如电话会议、重要任务执行期间,用户希望手机能够自动处理来电。安卓自动接电话和自动挂电话功能的实现,不仅仅是为了提升用户体验,更是一种智能与便捷性的体现。通过编程实现这一功能,可以大大减少用户在特定环境下的操作负担,同时也能在一定程度上帮助用户管理自己的电话通讯。实现这一功能的基础是安卓系统的电话管理API,它允许开发者编写代码来响应电话事件,如来电、去电和通话状态变化等。

weixin_42591908的博客 1867

Android 之 TelephonyManager (电话管理器)

对于监听到的通话记录结果,你可以采取不同的方式获取到,这里用到的是把通话记录写入到文件中, 而你也可以以短信的形式发送给你,或者是上传到某个平台,当然如果通信记录不多的话还可以用短信 多了的话就很容易给人发现的了!网络信号强度的单位是dBm(毫瓦分贝),一般用负数表示,正常手机信号变化范围是从-110dBm (差)到-50dBm(好)之间,如果你比-50dBm还小的话,说明你就站在基站的附近,比如我的n5显示 的信号强度就是-51dBm,有时是-59dBm,因为隔壁就是南软大楼,上面就有基站...

leyang0910的博客 1324

Android应用实现自动接听和挂断电话功能教程

在本章中,我们将对Android平台上的自动接听挂断功能进行基础性的介绍,从而为后续章节的技术细节做好铺垫。首先,我们会探讨自动接听挂断功能的实际应用场景,比如在某些特定场景下,如紧急情况下,用户可能希望手机能够自动接听电话。随后,我们会简要介绍这一功能的工作原理和它对用户体验的提升作用。了解这些基础知识是开发此类功能时的先决条件,有助于理解后续的技术实现和优化策略。自动接听挂断功能是Android应用开发中的一个实用特性,它能够在用户无法手动操作手机时,根据预设条件自动完成接听或挂断电话的动作。

weixin_35973118的博客 1267

android自动挂掉电话,Android-实现电话自动接听/电话自动挂断功能

在Android平台上,有很多这类型的功能,比如,拦截流氓广告电话的功能,比如,自定义来电界面的功能,这些功能的实现,都基于我们通过程序代码去实现自定接听电话或者自动挂断电话。前阵子研究了一段时间关于这个功能,适配了andorid各个版本,基本实现大部分机型能够实现自动接听和自动挂断。趁着这会有空,记录一下,希望能帮到有需要的人。监听来电情况这个很简单,我们只需要声明一个BroadcastRece...

weixin_34564735的博客 3088

Android实现来电自动挂断并回复短信

自己在练习电话接口反射机制的时候,写的一个小应用。对了解电话反射机制大有帮助.

AI 编程助手新玩法:用 Claude Code 一键调用国产大模型(DeepSeek/Kimi/GLM 对比)

本文深入评测了Claude Code与三大国产大模型(DeepSeek、Kimi、智谱GLM)的集成效果,详细对比了它们在代码生成质量、响应速度和特殊场景支持度等方面的差异。通过实测数据和实战技巧,帮助开发者选择最适合的AI编程助手组合,提升开发效率。

weixin_30955617的博客 487

无sim识别图标问题分析

问题总结,分析过程记录。了解原理,充分理解

weixin_37684978的博客 754

6层高速PCB设计实战:BGA布局与阻抗匹配关键解析

本文深入解析6层高速PCB设计中BGA布局与阻抗匹配的关键技术。通过实战经验分享,详细介绍了六层PCB层叠结构的选择与优化、BGA器件布局技巧、阻抗匹配的实战经验以及高速布线技巧,帮助工程师提升PCB设计水平,确保信号完整性和电源完整性。

weixin_28481133的博客 368

Android手机实现自动挂断功能

关于获取手机通话状态获取方式,请参考其他文档,此文不做介绍。 1.非ROOT手机 反射方法 通过AIDL和放射的方式实现电话挂断,是网上使用最多的方法。 首先我们需要创建一个aidl文件,包路径为:com.android.internal.telephony; 文件的内容如下: 实现挂断的代码如下: 存在问题: 部分手机移动联通正常使用,电信手机无法挂断,反...

lanxiaohaibenben的博客 2784

S32K3 eMIOS使用介绍(PWM输出与输入捕获)——基于MCAL

本文基于 S32K3xx系列芯片、S32 Design Studio for S32 Platform开发平台以及EB tresos 28.0.0、 MCAL层,介绍pwm的输出及输入捕获。

HeFlyYoung的博客 2万+

海思MPP平台千兆以太网驱动集成与测试指南

千兆以太网(GE)是嵌入式视觉系统中音视频流传输与边缘控制的核心物理接口,其底层驱动需兼顾DMA高效调度、中断实时响应与PHY链路稳定性。在Linux嵌入式环境中,GE驱动通常基于net_device框架实现,并深度耦合于SoC专用媒体处理平台(如海思MPP),通过硬件抽象层(HAL)屏蔽寄存器操作,提供零拷贝、RGMII时序适配、描述符环管理等关键能力。技术价值体现在降低CPU负载、保障1080p@30fps实时推流、支持ONVIF/RTSP协议交互及固件远程升级。典型应用场景包括网络摄像机(IPC)、A

weixin_42599908的博客 89

【详解】Android自动挂断电话的实现

在实现了上述功能后,务必在不同版本的Android设备上进行测试,以确保功能的稳定性和兼容性。特别是在处理电话状态和挂断操作时,要注意异常处理,避免因权限问题或其他原因导致应用崩溃。需要注意的是,这种操作可能会涉及到用户隐私和安全问题,因此在实际应用中需要谨慎处理,并确保用户明确授权。在Android中,直接挂断电话并不是一个公开支持的操作,但可以通过发送广播或使用反射来实现。为了在电话呼入时执行挂断操作,我们需要监听电话的状态变化。通过以上步骤,你可以在Android应用中实现自动挂断电话的功能。

牛肉胡辣汤 1395

手把手教你用STM32CubeMX配置WS2812的PWM+DMA驱动(附完整代码)

本文详细介绍了如何使用STM32CubeMX配置PWM+DMA驱动WS2812全彩灯带,包括硬件选型、STM32F103C8T6的时钟配置、定时器与PWM设置、DMA传输优化等关键步骤,并提供了完整的代码实现和常见问题解决方案,帮助开发者高效控制WS2812灯带。

weixin_30859423的博客 440

android自动接听和挂断电话

实现android自动接听和挂断电话功能。代码如下:  添加权限         main.xml         androidrientation="vertical" android:layout_width="fill_parent"   android:layout_height="fill_parent">

lili1985516的专栏 4787

使用python中pypower进行电力潮流计算

使用python中pypower进行电力潮流计算

总裁余(余登武)博客 4861

大数据领域数据产品的交通运输行业应用

您是否经历过早高峰被堵在桥上,看着导航显示“前方5公里缓行”却无能为力?是否见过货车司机绕远路导致成本飙升?这些“交通痛点”的背后,是传统交通管理依赖经验决策的局限。本文将聚焦“大数据数据产品”这一核心工具,从技术原理到实际应用,全面解析它如何为交通运输行业“开天眼”,解决从城市拥堵到物流效率的一系列难题。本文将按照“问题引入→概念拆解→技术原理→实战案例→应用场景→未来趋势”的逻辑展开,用生活化比喻降低理解门槛,用代码和数学模型提升专业性,最终帮您建立“大数据+交通”的完整认知框架。交通数据。

操作系统内核探秘的博客 237

android 自动挂断,android实现接通和挂断电话

本文实例为大家分享了android实现接通和挂断电话的具体代码,供大家参考,具体内容如下关键代码:【PhoneUtils类】package com.ebupt.phonerecorddemo.server;import java.lang.reflect.Method;import android.content.Context;import android.content.Intent;impo...

weixin_39616222的博客 456

面向 OData V4 的 Fiori elements 为何强制使用 draft、它到底是什么、以及是否能关闭

本文深入解析了SAP Fiori elements中draft handling的核心机制与必要性。关键点包括:1)draft机制通过中间版本实现复杂编辑的安全恢复与并发控制;2)Fiori elements for OData V4强制要求draft-enabled服务支持事务编辑;3)非draft服务仅适用于只读场景;4)替代方案需承担完全自定义开发的成本。文章基于SAP官方文档,系统阐述了draft在事务型应用中的基础性作用,为架构决策提供了明确指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 267

android 自己写挂电话,MTK Android 如何自动挂断电话

//拨打电话,并定时60S对方未接听自动挂断public voidCall(){Uri localUri = Uri.parse("tel:" + mPhoneNumber[mCalledIdx]);Intent call = new Intent(Intent.ACTION_CALL, localUri);call.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);...

weixin_35785090的博客 336

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android自动挂掉电话,android实现接通和挂断电话

本文实例为大家分享了android实现接通和挂断电话的具体代码,供大家参考,具体内容如下关键代码:【PhoneUtils类】package com.ebupt.phonerecorddemo.server;import java.lang.reflect.Method;import android.content.Context;import android.content.Intent;impo...

weixin_35589827的博客 1010

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MTK Android 如何自动挂断电话

//拨打电话,并定时60S对方未接听自动挂断 public voidCall() { Uri localUri = Uri.parse("tel:" + mPhoneNumber[mCalledIdx]); Intent call = new Intent(Intent.ACTION_CALL, localUri); call.se

chr8880的专栏 2020

Android黑名单自动挂断电话

第一种黑名单挂断电话 使用AIDL文件自动生成接口,把NeighboringCellInfo.aidl和ITelephony.aidl放到对应的包中。 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http

XHui_Lin的博客 812

Android之——自动挂断电话的实现

通过《Android之——AIDL小结》与《Android之——AIDL深入》两篇博文,相信大家已经对Android AIDL有了一定的了解,下面,我们就利用Android的AIDL实现自动挂断电话的功能,好了,不多说了,我们直接进入主题。 1、准备AIDL文件 挂断电话的AIDL文件都是Android自带的文件,我们可以从Android的源代码中找到这两个文件,它们分别是Neighborin

冰河的专栏 8196

android 自动拨打电话和挂断电话(反射和intent方式)

欢迎来到博主的技术分享博客今天分享的技术主要内容是自动拨打电话和挂断电话。自动拨打电话分为两种,一种是通过反射ITelephony这个类直接调用call方法,一种是通过intent方法。而挂断电话则只有通过反射ITelephony这个类的endcall方法了。先看看动图演示(由于csdn有大小限制,就分成2个gif图来演示): 因为我们通过反射获取ITelephony对象主要是通过Telephony

silly_wy的专栏 1万+

Android电话设置黑名单,来电自动挂断

首先导入两个外包 public class PhoneActivity extends BroadcastReceiver { private TelephonyManager tm; @Override public void onReceive(Context context, Intent intent) { //判断是否为手机行为状态

umbrella_419的博客 1003

Android(AIDL)自动重复拨号及挂断/接听电话

Android默认没有提供挂断/接听电话的api,需要伪装com/android/internal/telephony/ITelephony.aidl的接口来欺骗系统。而自动重复拨号可以通过(BroadcastReceiver)监听电话状态(android.intent.action.PHONE_STATE)来实现。 1、Android挂断和接听电话的接口 public static 

yunbin_7的专栏 4931
上一篇: android点击事件
下一篇: android WebView 详细代码
王晓恩
博客等级 码龄11年 28粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值