为了账号安全,请及时绑定邮箱和手机立即绑定

Android禁用系统应用

标签:
Android

最近遇到一个奇葩的需求,要禁用系统的通话功能(不能打电话,不能接电话)。感觉有点反人类啊。刚开始的思路是:

1.写一个app,启动一个广播接收者(PhoneStateReceiver),监听系统的广播(android.intent.action.PHONE_STATE)启动一个(PhoneService),通过反射拿到挂断电话的API

TelephonyManager tm = (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);

        ITelephony iTelephony = getTelephony(tm);

iTelephony.endCall();
2.写一个监听开机的广播,做一个开机启动这个app。

3.常驻内存(保活),实验各种常驻内存方案:1.JobScheduler方案。2.循环播放一段无声音频,"打造金刚不坏之身"。3.单进程守护。4.双进程守护方案。结果是在用户主动清理内存时(用户单点清理本应用的内存),所有的方案都无法做到常驻内存。

这个思路宣告失败。

新思路是考虑是不是可以把手机通话功能相关的apk卸载掉或者屏蔽掉。在此过程中偶然发现可以禁用冻结/禁用系统应用。于是沿着这个思路继续进行。

1.获取手机的root权限。每个手机的root的方法不一样大家网上自行搜索。(XXX一键root等等)

2.要知道要禁用的应用对应的包名。这个大家自行百度,或者通过命令行1.adb shell 2.su 3.pm list packages | grep com.android 列出所有的系统级别的应用。看看包名猜测一下。哈哈。。。

3.命令行执行1.adb shell 2.su 3.pm hide 包名,就可以冻结对应的系统应用了。

4.重启系统执行命令adb reboot.

5.如果想恢复执行命令1.adb shell 2.su 3.pm unhide 包名,即可。

        6.重启系统执行命令adb reboot.

Tips:

1.终端命令行模拟器(android手机上使用命令行):

http://bbs.zhiyoo.com/forum.phpmod=attachment&aid=NTMxNDc5NXxhZGY2N2RiODI5YzViNWQzODU4ZmY0ZTJkMGVmNjFjNHwxNTAzNDU3OTQy&request=yes&_f=.apk

2.Android pm 命令行详解:
http://www.apkbus.com/home.php?mod=space&uid=664680&do=blog&quickforward=1&id=68737

原文链接:http://www.apkbus.com/blog-664680-68736.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消