[发明专利]一种基于Android的开机管理方法无效
申请号: | 201210274345.7 | 申请日: | 2012-08-02 |
公开(公告)号: | CN102855148A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 胡展鸿;龙振海 | 申请(专利权)人: | 广东欧珀移动通信有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04M1/725 |
代理公司: | 深圳市惠邦知识产权代理事务所 44271 | 代理人: | 满群 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 android 开机 管理 方法 | ||
技术领域
本发明涉及安卓(Android)操作系统及其应用,具体涉及基于Android的开机管理方法。
背景技术
目前,Android系统完成系统初始化之后,会发出一个系统初始化完成广播(ACTION_BOOT_COMPLETE广播)来通知那些对开机是否完成感兴趣的应用。因此,如果一个应用想在开机后去启动自己的服务或者做一些别的事情的话,它只需要做三个步骤:
(1)在应用软件的代码中实现一个静态接收器(Receiver);
(2)将该Receiver注册为对ACTION_BOOT_COMPLETE广播感兴趣的对象;
(3)当ACTION_BOOT_COMPLETE发送到该Receiver时,应用的进程此时就会被创建,该Receiver中的onReceive()方法就会被回调,而在这个方法中实现任何功能。
可见,在Android系统中实现应用的开机自启动是如此的轻松,而且市场上的众多软件都想在开机启动后去做一些事情,比如91助手,开机后启动进程去更新应用市场资源;又如360安全卫士在开机之后自启动去做杀毒扫描等。不同的软件都为一己之欲滥用着Android的这个机制。
Android手机启动的过程有系统初始化,系统软件初始化。而ACTION_BOOT_COMPLETE广播的发送,仅仅是系统初始化完毕的一个里程碑,众多的系统软件,诸如系统状态栏(System Ui.apk)、电话模块(Phone.apk)、信息模块(Mms.apk)、系统设置模块(Settings.apk)等也会根据需要选择在接受到ACTION_BOOT_COMPLETE广播之后进行数据的初始化工作。
因此在第三方软件与系统软件在相同的时间段里争先恐后地做初始化工作的时候,我们很容易看到的一个现象就是:开机后,屏幕明明已经进入了桌面,但是系统卡得非常厉害,点击应用图标无响应、拨动桌面菜单页面无响应......毕竟,手机的处理器,内存资源是有限的,越多的软件在做开机自启动,那么系统就越繁忙,等所有的应用软件都开机启动完毕后,系统的资源已耗尽的差不多,而且存在这么一个线性增长的规律,开机自启动的软件越多,开机时间就会越长,出现的问题就越多。笔者在系统开发过程中曾见过一些问题反馈的机子,开机启动软件达到上百项,因此开机过程有高概率的ANR(Application not response,应用无响应)现象,引起ANR的原因通常分为两种:(1)处理器繁忙,(2)应用程序没在规定的处理器时间内做完工作),是否每个第三方软件必须在开机的时候启动不可呢,为什么这个选择权不能交给用户?但是,目前Android系统还没有这样的方法或这种方法被公开。
发明内容
本发明需要解决的技术问题是,如何提供一种基于Android的开机管理方法,能限制自启动应用,有效地提高开机速度,节省手机系统资源。
本发明的上述技术问题这样解决:构建一种基于Android的开机管理方法,具体包括以下步骤:
101)系统初始化完毕;
102)活动管理服务启动发送系统初始化完成广播;
103)活动管理服务向包管理服务获取已注册接收系统初始化完成广播的接收器对象(Receiver)列表;
104)开始发送系统初始化完成广播;
105)遍历接收器对象列表并根据预先配置或定义处理所述列表中各对象:如果允许启动,则将对应应用或进程启动起来,并将广播发送至该被允许对象中,回调其onReceive()方法;如果不允许启动,则跳过该不允许对象;
106)系统初始化完成广播。
按照本发明提供的基于Android的开机管理方法,定义Receiver对象的onReceive()方法,实现各种功能。
按照本发明提供的基于Android的开机管理方法,所述步骤101)发生在开机或重启之后。
按照本发明提供的基于Android的开机管理方法,所述步骤105)中配置或定义保存在系统或用户定义的数据库中。
按照本发明提供的基于Android的开机管理方法,该管理方法还包括预先配置或定义步骤:
401)进入或根据权限进入开机启动项配置;
402)列出当前所有已注册接收系统初始化完成广播的接收器对象对应应用或进程列表;
403)定义或修改各应用或进程允许或不允许启动并保存。
按照本发明提供的基于Android的开机管理方法,所述步骤106)之后系统进入桌面程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东欧珀移动通信有限公司,未经广东欧珀移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210274345.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:面向片式多核处理器的流编译优化方法
- 下一篇:终端和跨应用协同操作处理方法