[0012] 本发明的目的是为解决目前自启管控实现方案大多对后台自启行为和开机自启行为进行管控,不能完全管控所有应用的自启行为,从而导致智能终端的耗电速度快,待机时间短的技术问题。
[0013] 为了解决上述技术问题,本发明提供一种对android应用程序在特定条件下自启动的管控系统,所述android应用程序安装在基于android操作系统的智能终端上,所述管控系统包括:
[0014] 获取应用程序信息的模块,至少用来获取应用程序的以下信息:程序包名称、用户ID、开机广播接收器和网络变化广播接收器;
[0015] 强制停止应用程序的模块,其通过所述程序包名称强制停止所述应用程序;
[0016] 关闭开机广播接收器和网络变化广播接收器的模块,其将所述开机广播接收器和网络变化广播接收器设为不可用;
[0017] 获取root权限的模块,通过其使所述智能终端获得root权限;
[0018] 清理后台独立守护进程的模块,用来限制由所述后台独立守护进程所启动的应用程序在优化后自启。
[0019] 进一步地,所述清理后台独立守护进程的模块包括:
[0020] 获取用户名子模块,其通过所述应用程序的用户ID映射到用户名来获取用户名;
[0021] 获取后台独立守护进程子模块,用于通过所述用户名获取该用户名下拥有的所有能根据类名直接启动所述应用程序的后台服务进程的后台独立守护进程;
[0022] 清理后台独立守护进程子模块,用于清理所述获取后台独立守护进程子模块获得的后台独立守护进程。
[0023] 进一步地,所述获取后台独立守护进程子模块通过执行ps指令获取所述用户名下的后台独立守护进程。
[0024] 为了解决上述技术问题,本发明还提供一种对android应用程序在特定条件下自启动的管控方法,所述android应用程序安装在基于android操作系统的智能终端上,所述管控方法包括以下步骤:
[0025] (1)至少获取应用程序的以下信息:程序包名称、用户ID、开机广播接收器和网络变化广播接收器;
[0026] (2)通过所述程序包名称强制停止所述应用程序;
[0027] (3)关闭所述开机广播接收器和网络变化广播接收器,将所述开机广播接收器和网络变化广播接收器设为不可用;
[0028] (4)使所述智能终端获得root权限;
[0029] (5)清理后台独立守护进程,限制由所述后台独立守护进程所启动的应用程序在优化后自启。
[0030] 进一步地,所述步骤(5)具体包括如下步骤:
[0031] (5.1)通过所述应用程序的用户ID映射到用户名来获取用户名;
[0032] (5.2)通过所述用户名获取该用户名下拥有的所有能根据类名直接启动所述应用程序的后台服务进程的后台独立守护进程;
[0033] (5.3)清理获得的所述后台独立守护进程。
[0034] 进一步地,所述步骤(5.2)通过执行ps指令获取所述用户名下的后台独立守护进程。
[0035] 本发明站在用户角度,为限制特定条件下android应用程序后台默默自启动提供一种解决方案,不仅切断了静态注册广播接收器通过接收广播自启动的途径,而且对后台独立守护进程启动应用后台服务进程的途径进行了拦截,从而降低基于android的智能终端的耗电速度,延长其待机时间。