1.第一步,在代码里加上以下方法

/**

* 说明:发送dtmf事件

* Author:

* @param keycode

*/

publicvoidsendDTMF(charkeycode) {

try{

Class cls_phoneFactory = Class

.forName("com.android.internal.telephony.PhoneFactory");

Method method_getDefaultPhone = cls_phoneFactory.getDeclaredMethod(

"getDefaultPhone",null);

method_getDefaultPhone.setAccessible(true);

Object obj_phone = method_getDefaultPhone.invoke(null);

Method method_sendDTMF = obj_phone.getClass().getDeclaredMethod(

"sendDtmf",char.class);

method_sendDTMF.invoke(obj_phone, keycode);

} catch(Exception e) {

e.printStackTrace();

}

}

2.在AndroidManifest.xml里增加

android:sharedUserId="android.uid.phone"

当然也可以是

android:sharedUserId="android.uid.system"

3.在application节点增加

android:process="com.android.phone"

如果你觉得不合适,也可以在你要增加这个事件的activity节点加,效果一样

4.这时是不能直接运行的,运行的话会报一个错

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

这时,需要对生成的apk文件进行系统签名

没有签名工具的话可以到这里下载

http://download.csdn.net/detail/c_weibin/4883635

5.大功告成

另外:如果手头上有源码,直接在IncallScreen.java里自己写个广告,监听自己应用里的dtmf事件也行,然后在收一广播后,执行mPhone.sendDtmf(keycode);注意,这里的mPhone 不需要自己去初使化,就这样子写就行了!这种方式就不会出现跨线程操作,导致一些很奇怪的现象,也没有权限限制

android自动发送dtmf,Android发送dtmf键盘事件(模拟通话界面键盘事件)相关推荐

  1. android自动发送dtmf,如何在Android上使用pjsip发送dtmf?

    我正在尝试在voip呼叫期间发送dtmf. 为了做到这一点我使用如何在Android上使用pjsip发送dtmf? mCall.dialDtmf(String.valueOf(dtmf)); MCAL ...

  2. python实现模拟按键down_Python如何实现键盘鼠标按键模拟 Python实现键盘鼠标按键模拟代码...

    Python如何实现键盘鼠标按键模拟?本篇文章小编给大家分享一下Python实现键盘鼠标按键模拟代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 需要安装pypiwin3 ...

  3. 2020.11.18第十三章 事件(事件处理程序;事件对象;事件类型:UI事件;焦点事件;鼠标与键盘事件 变动事件 模拟事件)

    事件处理程序 html事件处理程序(直接在html中书写script) <!-- //#### 事件处理程序 //html时间程序 可以直接在HTML文件中写,而且还可以引用其他地方的方法和函数 ...

  4. C++实现鼠标控制 封装常见的模拟鼠标、键盘的操作函数

    API 或 MFC 视窗程序 里 有 函数, 例如 API 函数 设位置: BOOL SetCursorPos( int x, int y); 参数是屏幕坐标x,y 头文件 Winuser.h 链接库 ...

  5. 浅谈Javascript事件模拟

    事件是用来描述网页中某一特定有趣时刻的,众所周知事件通常是在由用户和浏览器进行 交互时触发,其实不然,通过Javascript可以在任何时间触发特定的事件,并且这些事件与浏览器创建的事件是相同的.这就 ...

  6. 控制台模拟鼠标、键盘操作

    控制台模拟鼠标.键盘操作 模拟鼠标.键盘操作,能让命令行顿然强大,想想,制作批处理版屏幕键盘等都不在话下(已制作过,效果很不错).虽然这也跟CUI无关.本教程教会你如何让命令行模拟鼠标.键盘的操作. ...

  7. android自动发送dtmf,Android通话中发送DTMF信号

    由于android中sdk没有提供相关功能,所以在Android中如果要自定义拨号盘发送DTMF信号,需要通过反射调用相关方法,并且需要系统签名还有运行在phone进程中,同时需要phone进程的ui ...

  8. android dtmf发送命令,如何向通话中的另一方发送DTMF

    解决方法: 通过执行FreeSWITC的API命令,可以获取另一条信道的信息,如下: show channels like 66903@ as xml 在该命令的返回值中抽取sent_callee_n ...

  9. android 获取键盘回车键事件,设置软键盘回车键显示内容,点击空白处隐藏软键盘

    首先设置EditText的回车属性 drawable文件 @drawable/editcolor <?xml version="1.0" encoding="utf ...

最新文章

  1. xlrd.biffh.XLRDError:不支持的格式或文件损坏:预期的BOF记录;找到了b’b \ x14#e \ xbc \
  2. 中层管理者,你到底怎样管理?
  3. 六边形块级元素的绘制
  4. kubesphere添加新节点
  5. 如何修复 SAP UI5 aggregation with cardinality 0..1 相关的错误消息
  6. 游戏AI –行为树简介
  7. java finalize方法的使用
  8. 不用ajax实现动态分页,详解ajax +jtemplate实现动态分页
  9. eclipse下生成Java类图和时序图,生成UML图
  10. gitclone 一个tag的地址_获取Url地址中参数的几种方法
  11. python 类属性方法实例属性方法
  12. Oracle客户端的卸载
  13. Java多态的实现方式,值得收藏!
  14. 男人30岁以前要作的事
  15. 小写金额转换成大写金额
  16. 达芬奇剪辑调色专用键盘DaVinci Resolve Speed Editor
  17. 初装vs2010旗舰版 遇到的错误
  18. 鸿蒙初开三界未立,太子长琴
  19. nginx反向代理实现指定接口访问指定机器
  20. 专访实战专家,揭秘iOS神奇开发之路

热门文章

  1. VLAN学习笔记大全(1)
  2. Lock和Synchronized区别
  3. 内存泄漏——内存溢出区别
  4. ceph基本架构及数据分布原理
  5. ZooKeeper(二) idea中使用Java操作zookeeper
  6. js 取html自定义属性,JS操作html中的自定义属性
  7. VMware的宿主模式
  8. spring注解之@Import注解的三种使用方式
  9. Go Web 编程--如何确保Cookie数据的安全传输
  10. 修正《用Docker快速搭建Go开发环境》文章中的一处错误