一种基于安卓平台的开机自启动APK的方法及终端技术

技术编号:10742579 阅读:128 留言:0更新日期:2014-12-10 15:45
本发明专利技术公开了一种基于安卓平台的开机自启动APK的方法及终端,所述方法包括:预先定制开机自启动的APK;开机时,在等待系统主要服务加载完成后、Launcher加载前判断是否有定制的开机自启动APK需启动;若是,启动所述开机自启动APK,并阻塞Launcher的加载。通过本发明专利技术的技术方案,能够实现Android系统开机的时候在Launcher之前启动对应的APK。

【技术实现步骤摘要】
一种基于安卓平台的开机自启动APK的方法及终端
本专利技术涉及智能电视领域,尤其涉及一种基于安卓平台的开机自启动APK的方法及终端。
技术介绍
如图1所示,现有的基于Android系统平台的电视,系统在启动时会自动运行名为launcher的桌面启动器,从而进入一个静态的UI界面等待用户的操作,实现人机交互。在现有技术中,如果希望开机启动对应的APK(AndroidPackage的缩写,即Android安装包),则只能先经过启动launcher的过程,launcher启动后发出BOOT_COMPLETE广播后,才能启动对应的APK。即如果希望Android电视开机自启动对应的APK,那就需要等进入Launcher后,对应APK的onReceive()函数接收到BOOT_COMPLETE广播后,该APK才启动。这样给用户造成的影响包括:一定要闪现一下Launcher界面后才能打开对应APK,用户需要等待一定的时间;或者当进入Launcher时出错,等待的时间就会很久,甚至导致APK打开受阻,影响用户体验。为了克服该缺陷,现有技术通过修改Android源码里面的Provision.APK源码,以定制开机向导实现在Launcher之前启动对应的APK。然而由于默认情况下Provision.apk只会在系统第一次开机(或者用户复位系统后)才会被加载,后续开机时系统就不会再加载Provision.apk,而是直接进入Launcher。因此,通过该方式用户无法在下次开机或者第N次开机的时候在Launcher之前启动对应的APK。
技术实现思路
本专利技术的目的在于提出一种基于安卓平台的开机自启动APK的方法及终端,能够实现Android系统开机的时候在Launcher之前启动对应的APK。为达此目的,本专利技术采用以下技术方案:一种基于安卓平台的开机自启动APK的方法,包括:预先定制开机自启动的APK;开机时,在等待系统主要服务加载完成后、Launcher加载前判断是否有定制的开机自启动APK需启动;若是,启动所述开机自启动APK,并阻塞Launcher的加载。其中,所述启动所述开机自启动APK,阻塞Launcher的加载之后,包括:当所述开机自启动APK退出时,启动Launcher的加载。其中,所述当所述开机自启动APK退出时,启动Launcher的加载,包括:当所述定制的APK退出时,若系统为首次启动,加载Provision.APK之后,启动Launcher的加载。其中,所述判断是否有定制的APK需启动之前,还包括:修改Android源码中framework文件夹里面的SystemServer.java文件,在ActivityManagerService.self().systemReady(newRunnable(){})的方法里面,Watchdog.getInstance().start()启动之后,添加判断条件以判断是否有定制的APK需在Launcher加载前启动。其中,所述添加判断条件以判断是否有定制的APK需在Launcher加载前启动,包括:添加PackageManager以判断是否存在定制的APK;若是,通过cursor读取该定制的APK的信息,判断该APK是否需在Launcher加载前启动。其中,所述启动所述开机自启动APK之后,包括:将该APK对应的设置参数以SQLite方式写入指定的数据库中,为该数据库创建一个对外共享数据的ContentProvider类接口。其中,所述开机时,在等待系统主要服务加载完成后、Launcher加载前判断是否有定制的APK需启动,包括:开机时,若为首次开机,在等待系统主要服务加载完成后、Launcher加载前,通过PackageManager判断是否存在定制的开机自启动APK,若是,通过cursor读取该APK的信息,判断该APK是否需在Launcher加载前启动;若非首次开机,在等待系统主要服务加载完成后、Launcher加载前,在开机加载SystemServer时,利用Cursor通过所述ContentProvider类接口来读取所述指定数据库中该APK对应的设置数值,判断该APK是否允许在Launcher加载前启动。其中,所述启动所述开机自启动APK,阻塞Launcher的加载,包括:通过ActivityRecord实例的对象堆栈记录开机时每个Activity的情况,启动所述开机自启动APK时,该ActivityRecord实例的对象堆栈记录该APK的数据,该APK退出之前,该ActivityRecord实例的对象堆栈不为空,使得Launcher的加载受到阻塞。一种基于安卓平台的开机自启动APK的终端,包括:定制单元,用于预先定制开机自启动的APK;判断单元,用于开机时在等待系统主要服务加载完成后、Launcher加载前,判断是否需启动定制的开机自启动APK;APK启动单元,用于若判断单元判断出需启动定制的开机自启动APK时,启动所述开机自启动APK,并阻塞Launcher的加载。其中,还包括:桌面启动单元,用于当所述开机自启动APK退出时,启动Launcher的加载。实施本专利技术实施例,具有如下有益效果:本专利技术实施例通过修改Android源码中framework文件夹里面的SystemServer.java文件,使得开机时在等待系统主要服务加载完成后、Launcher加载前判断是否需启动定制的开机自启动APK;若是,启动开机自启动APK,并阻塞Launcher的加载。通过本专利技术的方案,基于Android平台的设备开机时可在Launcher加载前启动定制的开机自启动APK,比如开机向导APK;或者酒店电视开机时直接进入TVSettings.APK来进入TV模式,减少用户的等待时间;另外还可在后续每次开机(或者第N次开机)时均在Launcher之前加载定制的开机自启动APK,无需用户多次手动设置,有利于提高用户体验。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有的基于安卓平台的开机自启动APK的方法的流程示意图。图2是本专利技术第一实施例的一种基于安卓平台的开机自启动APK的方法的流程示意图。图3是本专利技术第一实施例的一种基于安卓平台的开机自启动APK的方法的另一流程示意图。图4是本专利技术第二实施例的一种基于安卓平台的开机自启动APK的方法流程示意图。图5是本专利技术第三实施例的一种基于安卓平台的开机自启动APK的终端的结构示意图。具体实施方式下面结合本专利技术的附图对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。结合图2-4对本专利技术的第一实施例进行说明。图2是本专利技术第一实施例的一种基于安卓平台的开机自启动APK的方法流程图,详述如下:步骤101,预先定制开机自启动的APK。本文档来自技高网...
一种基于安卓平台的开机自启动APK的方法及终端

【技术保护点】
一种基于安卓平台的开机自启动APK的方法,其特征在于,包括:预先定制开机自启动的APK;开机时,在等待系统主要服务加载完成后、Launcher加载前判断是否有定制的开机自启动APK需启动;若是,启动所述开机自启动APK,并阻塞Launcher的加载。

【技术特征摘要】
1.一种基于安卓平台的开机自启动APK的方法,其特征在于,包括:预先定制开机自启动的APK;修改Android源码中framework文件夹里面的SystemServer.java文件,在ActivityManagerService.self().systemReady(newRunnable(){})的方法里面,Watchdog.getInstance().start()启动之后,添加判断条件以判断是否有定制的APK需在Launcher加载前启动;开机时,在等待系统主要服务加载完成后、Launcher加载前判断是否有定制的开机自启动APK需启动;若是,启动所述开机自启动APK,并阻塞Launcher的加载。2.根据权利要求1所述的基于安卓平台的开机自启动APK的方法,其特征在于,所述启动所述开机自启动APK,阻塞Launcher的加载之后,包括:当所述开机自启动APK退出时,启动Launcher的加载。3.根据权利要求2所述的基于安卓平台的开机自启动APK的方法,其特征在于,所述当所述开机自启动APK退出时,启动Launcher的加载,包括:当所述定制的APK退出时,若系统为首次启动,加载Provision.APK之后,启动Launcher的加载。4.根据权利要求1所述的基于安卓平台的开机自启动APK的方法,其特征在于,所述添加判断条件以判断是否有定制的APK需在Launcher加载前启动,包括:添加PackageManager以判断是否存在定制的APK;若是,通过cursor读取该定制的APK的信息,判断该APK是否需在Launcher加载前启动。5.根据权利要求1所述的基于安卓平台的开机自启动APK的方法,其特征在于,所述启动所述开机自启动APK之后,包括:将该APK对应的设置参数以SQLite方式写入指定的数据库中,为该数据库创建一个对外共享数据的ContentProvider类接口。6.根据权利要求5所述的基于安卓平台的开机自启动APK的方法,其特征在于,所述开机时,在等待系统主要服务加载完成后、Launcher加载前判断是否有定制的APK需启动,包括:开...

【专利技术属性】
技术研发人员:周军
申请(专利权)人:康佳集团股份有限公司
类型:发明
国别省市:广东;44

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

1