当前位置: 首页 > news >正文

挂断电话demo

 

  

<!-- 结束通话和打电话的权限 --> <uses-permission android:name="android.permission.CALL_PHONE"/>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="挂断电话" 
        android:onClick="endCall"/>

</RelativeLayout>
 
  
 
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    public void endCall(View v) throws Exception {
        //通过反射调用隐藏的API
            //得到隐藏类的Class对象
        Class c = Class.forName("android.os.ServiceManager");
            //得到方法所对应的Method对象
        Method method = c.getMethod("getService", String.class);
            //调用方法
        IBinder iBinder = (IBinder) method.invoke(null, Context.TELEPHONY_SERVICE);
        //得到接口对象
        ITelephony telephony = ITelephony.Stub.asInterface(iBinder);
        //结束通话
        telephony.endCall();
    }
}

转载于:https://www.cnblogs.com/znsongshu/p/9357412.html

相关文章:

  • 和 || 运算
  • 怎样借助Python爬虫给宝宝起个好名字
  • js之点击值发生变化
  • 解决 wcf HTTP 无法注册 另一应用程序正在使用 TCP 端口 80
  • [树链剖分]luogu P2590 ZJOI 树的统计
  • linux中断线程化分析【转】
  • php linux 脚本语法解释
  • python之udp协议的套接字
  • PHP变量
  • AdTime:多屏互动 进化中的大数据营销
  • Unity2018新功能抢鲜 | Package Manager
  • 快递业频爆黑料,不如让机器人送货吧!
  • Java 基础 之 for 循环
  • BIND9 DoS漏洞CVE-2016-8864 绿盟科技发布技术分析与防护方案 北京有1435台设备受影响...
  • yum更新出错-解决
  • Android Studio:GIT提交项目到远程仓库
  • canvas 绘制双线技巧
  • Java 网络编程(2):UDP 的使用
  • PHP的Ev教程三(Periodic watcher)
  • react 代码优化(一) ——事件处理
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • spring boot下thymeleaf全局静态变量配置
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 分类模型——Logistics Regression
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 解决iview多表头动态更改列元素发生的错误
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 消息队列系列二(IOT中消息队列的应用)
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 正则表达式
  • k8s使用glusterfs实现动态持久化存储
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ###项目技术发展史
  • #图像处理
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (分布式缓存)Redis分片集群
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (过滤器)Filter和(监听器)listener
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Scala的“=”符号简介
  • (转)shell中括号的特殊用法 linux if多条件判断
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .Net6 Api Swagger配置
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [AAuto]给百宝箱增加娱乐功能
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作