自动接听电话的另一种思路(只需要root权限)

最近老师给了一个自动接听电话的项目,上网搜索所谓“自动接听电话”无一例外是调用了ITelephony接口中的answerRingingCall()方法。不得不说这个方法确实方便,如果忽略它需要MODIFY_PHONE_STATE权限的话,而后者在Android 2.3版本以后已经只能由系统应用拥有
那我们怎么获得这个权限呢?继续查,发现还是千篇一律地复制粘贴同一篇博客:说第一种方法是到系统框架下mm编译,第二种是获得目标系统的数字签名并覆盖到自己的apk。总而言之,就是各种方法把自己伪装成系统应用。
然而这种方式具有局限性,即只能适应一种系统。而且,现在的手机大多是各个厂商包装后的系统,我这样的小白根本无法获得他们的数字签名(有知道怎么解决的请务必私信我)。

几番接近放弃,最后学长一句话“不行就模拟触屏把电话接了!
一想也对,模拟触屏虽然也是要获得各种坐标什么的,但好歹还能解决问题啊,然后就开始学如何模拟触屏,发现安卓自带的模拟触屏功能无法满足,而使用Instrumentation接口就又陷入了获得系统签名的窘境,到处搜各种方法,最后找到了合适的解决方案:使用Shell调用ADB指令实现模拟触屏
用这个方案测试了几次,突然发现有模拟按键我还模拟什么触屏,直接用接听键和挂断键啊

太晚了要睡了,具体的方法教程过几天再写。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值