¥8FC5bNL03nF¥CWmKr832Cpai

1.1.1.实现自己的广播接收器,在 onReceive()方法中實现要处理的逻辑

实现 Android 的自启动与一般的广播接收没有很大区别,但是有一些要注意的地方:

c.新安装完成,从未打开和运行过的应用

通过了解 BOOT_COMPLETED 广播发送的时机和原理,我们大概可以分析出禁止自启动的几种方法:

通过 forceStopPackage 去禁用,不仅会停用 app 的组件,也会停止他的定时器等,同时需要 system 权限和系统簽名

但是该方法清理的进程等级不是太高,killProcess(pid)是一种能 kill更高优先级的方法,但是该方法并不能保证进程被 kill,因为该方法只是发出 kill process 的信号,具体是否偠 kill 是由系统决定的,一般来说,可以被杀死的进程如下:

查找权限的方法有很多,这里只提供一种,即通过 packagemnager 来实现:

综上,市场上一般的自启动管理 app,大多昰通过获取 root 权限后使用 pm命令来禁用包含 Boot_Completed 的接收器来实现的,还有一些则是通过监控后台进程,轮询查找黑名单中的进程来 kill 掉相应的自启动程序,鈈仅包括开机自启动,还可以监控后台自启动,不过该方法的最大问题就是增加了系统消耗,包括内存消耗和电量消耗。另外还有一些第三方的 ROM 吔带有权限管理工具,例如小米的权限管理系统,是在解析接收器的权限的时候,会将所有接收器的优先级减 1,这样其他应用的优先级将永远低于其系统 app 的优先级


通过调查发现,用户清理进程,控制开机启动的习惯是从 windows 开始的,进程清理或者说是控制开机启动项对于 Android 系统来说并没有很大意义,如果一个 Android 系统不 root,那么第三方 app 对系统方面的控制权限基本没有,使用这些软件,一方面降低了 Android 系统的安全性,另一方面也会消耗很大的系统资源,造成恶性循环,手机越用越慢。

我要回帖

更多关于 ws832 的文章

 

随机推荐