一种基于安卓设备的应用自启动方法技术

技术编号:36563666 阅读:19 留言:0更新日期:2023-02-04 17:19
本发明专利技术公开了一种基于安卓设备的应用自启动方法,该方法通过修改安卓系统代码,在系统源码的Launcher中新增自定义服务类,并修改Launcher启动部分的源码,在Launcher启动后启动新增的自定义服务,用于监测自定义应用的运行状态和安装状态,克服了应用在开机以及升级之后无法自启动的问题,通过修改安卓系统中Launcher的源码,实时监测应用的运行状态、安装状态,达到了开机即自启动、升级后即自启动以及其他未运行状态下的自启动效果。以及其他未运行状态下的自启动效果。以及其他未运行状态下的自启动效果。

【技术实现步骤摘要】
一种基于安卓设备的应用自启动方法


[0001]本专利技术涉及安卓智能设备
,具体是一种基于安卓设备的应用自启动方法。

技术介绍

[0002]在目前,现有的基于安卓系统的设备,在开机时发出BOOT_COMPLETE广播,应用接收到BOOT_COMPLETE广播后才能启动,但是由于应用本身不是系统应用,无法安装在/system/app下,而是安装在储存卡中,加载速度不稳定,不一定能在系统发出BOOT_COMPLETE广播之前加载好,从而导致出现开机无法自启动的问题。同时,现有的安卓应用,在进行覆盖安装升级之后监听系统发出的ACTION_PACKAGE_REPLACED广播,在安卓高版本的系统中,该广播已经无法通过静态注册进行监听,只能通过动态注册,在应用运行时进行监听。然而一个覆盖安装的应用在升级的过程中会停止运行,动态注册的监听器也随之停止,无法监听到应用自己升级的广播,从而导致无法在升级之后自启动。

技术实现思路

[0003]本专利技术的目的在于克服上述
技术介绍
中的不足,而提供一种基于安卓设备的应用自启动方法。
[0004]实现本专利技术目的的技术方案是:一种基于安卓设备的应用自启动方法,具体包括如下步骤:1)在安卓系统源码的Launcher文件夹中添加自定义服务类以及服务代理类,将智能设备开机后,在Launcher的启动代码中,利用服务代理类,判断自定义服务是否开启,若未开启,则开启Launcher中的自定义服务;2)在自定义服务中,对自定义应用进行监测,通过获取应用包名管理类获取到所有的应用程序信息,通过遍历比对报名,查询自定义应用是否安装;3)若自定义应用未安装,则跳过本次监测,并设置延时时间,返回步骤2),继续监测自定义的安卓应用的运行状态;4)若自定义应用已经安装,则获取活动管理类,通过遍历判断栈信息,并判断该自定义应用是否已启动;若未启动,则通过Intent启动自定义应用;5)若自定义应用已启动,则通过进程管理类获取栈顶页面,判断当前前台的页面是否在前台运行,若已在前台运行,则设置延时时间,返回步骤2),继续监测自定义的安卓应用的运行状态;6)若未在前台运行,则通过Intent将自定义应用置于前台显示;7)经过步骤2)至步骤6),自定义应用已安装、已运行且已经置于前台显示,则跳过本次监测,并在设置的延迟时间后重新监测自定义运用的安装状态和运行状态。
[0005]本专利技术提供的一种基于安卓设备的应用自启动方法,克服了应用在开机以及升级之后无法自启动的问题,本专利技术的方法通过修改安卓系统中Launcher的源码,实时监测应
用的运行状态、安装状态,达到了开机即自启动、升级后即自启动以及其他未运行状态下的自启动效果。
附图说明
[0006]图1为一种基于安卓设备的应用自启动方法的流程图。
具体实施方式
[0007]下面结合附图和实施例对本
技术实现思路
做进一步阐述,但不是对本专利技术的限定。
[0008]如图1所示,一种基于安卓设备的应用自启动方法,该方法通过修改安卓系统代码,在系统源码的Launcher中新增自定义服务类,并修改Launcher启动部分的源码,在Launcher启动后启动新增的自定义服务,用于监测自定义应用的运行状态和安装状态,具体包括如下步骤:1)在安卓系统源码的Launcher文件夹中添加自定义服务类以及服务代理类,将智能设备开机后,在Launcher的启动代码中,利用服务代理类,判断自定义服务是否开启,若未开启,则开启Launcher中的自定义服务;2)在自定义服务中,对自定义应用进行监测,获取应用程序包名管理类获取到所有的应用程序信息,通过遍历比对报名,查询自定义应用是否安装;3)若自定义应用未安装,则跳过本次监测,并设置延时时间,返回步骤2),继续监测自定义的安卓应用的运行状态;4)若自定义应用已经安装,则获取活动管理类,然后通过遍历判断栈信息,判断该自定义应用是否已启动;若未启动,则通过Intent启动自定义应用;5)若自定义应用已启动,则通过进程管理类获取栈顶页面,判断当前前台的页面是否在前台运行,若已在前台运行,则设置延时时间,返回步骤2),继续监测自定义的安卓应用的运行状态;6)若未在前台运行,则通过Intent将自定义应用置于前台显示;7)经过步骤2)至步骤6),自定义应用已安装、已运行且已经置于前台显示,则跳过本次监测,并在设置的延迟时间后重新监测自定义运用的安装状态和运行状态。
[0009]上述实施例可以用于基于安卓系统的地铁屏幕设备,开机时需要自动启动站台信息应用,每次升级应该后也需要再次自动启动应用,通过上述的方法,可以达到开机即自启动、升级后即自启动以及其他未运行状态下的自启动地铁屏幕的效果。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于安卓设备的应用自启动方法,其特征在于,包括如下步骤:1)在安卓系统源码的Launcher文件夹中添加自定义服务类以及服务代理类,将智能设备开机后,在Launcher的启动代码中,利用服务代理类,判断自定义服务是否开启,若未开启,则开启Launcher中的自定义服务;2)在自定义服务中,对自定义应用进行监测,通过应用程序包管理类获取到所有的应用程序信息,通过遍历比对报名,查询自定义应用是否安装;3)若自定义应用未安装,则跳过本次监测,并设置延时时间,返回步骤2),继续监测自定义的安卓应用的运行状态;4)若自定义...

【专利技术属性】
技术研发人员:韦兆都陈弘覃奕黄仁萍王建卫唐嘉鸣周明眭健唐江华
申请(专利权)人:桂林海威科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1