一种智能电视开机启动方法及系统的利记博彩app
【专利摘要】本发明公开一种智能电视开机启动方法及系统,其中,方法包括步骤:A、对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序;B、当最后一个应用程序为启动器程序,则记录一启动器程序标识在标识文件中,当最后一个应用程序为非启动器程序时,则记录非启动器程序标识在所述标识文件中;C、在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。本发明根据记忆用户的使用习惯来确定开机第一个启动的程序,方便了用户的使用,简化了操作。
【专利说明】一种智能电视开机启动方法及系统
【技术领域】
[0001]本发明涉及智能电视领域,尤其涉及一种智能电视开机启动方法及系统。
【背景技术】
[0002]在Android电视上,用来显示电视信号的应用程序(通常称为TV程序)一般会作为Android电视的第一个应用程序启动,因此Android电视一开机便会显示电视信号的画面,但是作为智能电视,用户在智能电视开机时并不是都希望去收看传统电视节目,用户更多的是通过启动器去使用海量的Android应用,然而用户在进入启动器之前需在显示电视信号画面的状态下点击遥控器上的某个按键例如Home键,在电视界面上才会出现各个应用程序的图标,供用户选择,所以,用户进入应用的过程比较繁琐,操作不便,降低了用户的使用体验。
[0003]因此,现有技术还有待于改进和发展。
【发明内容】
[0004]鉴于上述现有技术的不足,本发明的目的在于提供一种智能电视开机启动方法及系统,旨在解决现有的智能电视开机后应用开启不便的问题。
[0005]本发明的技术方案如下:
一种智能电视开机启动方法,其中,包括步骤:
A、对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序;
B、当最后一个应用程序为启动器程序,则在一标识文件中记录一启动器程序标识,当最后一个应用程序为非启动器程序时,则在所述标识文件中记录一非启动器程序标识;
C、在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。
[0006]所述的智能电视开机启动方法,其中,所述步骤A具体包括:
Al、通过包名查找智能电视系统中用于显示电视信号的应用程序;
A2、在智能电视关机前,获取最后一个应用程序的包名,并通过包名判断最后一个应用程序为启动器程序或非启动器程序。
[0007]所述的智能电视开机启动方法,其中,所述步骤B具体包括:
若最后一个应用程序为启动器程序,则向一 Flash文件中写入一个启动器程序标识,用于表示最后一个应用程序为启动器程序;
若最后一个应用程序为非启动器程序,则向该Flash文件中写入一个非启动器程序标识,用于表示最后一个应用程序为非启动器程序。
[0008]所述的智能电视开机启动方法,其中,所述步骤C具体包括:
Cl、读取Flash文件,检测智能电视上一次关机前的最后一个应用程序是启动器程序还是非启动器程序,当最后一个应用程序为启动器程序时,则返回真,当最后一个应用程序为非启动器程序时,则返回假;
C2、当返回真时,则第一个启动启动器程序,当返回假时则第一个启动非启动器程序。
[0009]一种智能电视开机启动系统,其中,包括:
判断模块,用于对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序;
标识记录模块,用于当最后一个应用程序为启动器程序,则在一标识文件中记录一启动器程序标识,当最后一个应用程序为非启动器程序时,则在所述标识文件中记录一非启动器程序标识;
启动模块,用于在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。
[0010]所述的智能电视开机启动系统,其中,所述判断模块具体包括:
查找单元,用于通过包名查找智能电视系统中用于显示电视信号的应用程序;
判断单元,用于在智能电视关机前,获取最后一个应用程序的包名,并通过包名判断最后一个应用程序为启动器程序或非启动器程序。
[0011]所述的智能电视开机启动系统,其中,所述标识记录模块具体包括:
启动器程序标识单元,用于若最后一个应用程序为启动器程序,则向一 Flash文件中写入一个启动器程序标识,用于表示最后一个应用程序为启动器程序;
非启动器程序标识单元,用于若最后一个应用程序为非启动器程序,则向该Flash文件中写入一个非启动器程序标识,用于表示最后一个应用程序为非启动器程序。
[0012]所述的智能电视开机启动系统,其中,所述启动模块具体包括:
返回单元,用于读取Flash文件,检测智能电视上一次关机前的最后一个应用程序是启动器程序还是非启动器程序,当最后一个应用程序为启动器程序时,则返回真,当最后一个应用程序为非启动器程序时,则返回假;
启动单元,用于当返回真时,则第一个启动启动器程序,当返回假时则第一个启动非启动器程序。
[0013]有益效果:本发明通过对智能电视关机前的最后一个应用程序进行分析,并根据应用程序的类型记录启动器程序标识或者非启动器程序标识,在下一次开机时,检测到是启动器程序标识时,则第一个启动启动器程序,在检测到是非启动器程序标识时,则第一个启动非启动器程序,通过本发明实现根据关机前的应用程序来确定显示的程序类型,当用户关机前的最后一个应用程序为启动器程序时,则可以直接开机启动启动器程序,而无需点击Home键来进入到启动器程序,若关机前的最后一个应用程序为非启动器程序时,则可以直接开机启动电视画面,本发明根据记忆用户的使用习惯来确定开机第一个启动的程序,方便了用户的使用,简化了操作,提升了用户的使用体验。
【专利附图】
【附图说明】
[0014]图1为本发明一种智能电视开机启动方法较佳实施例的流程图。
[0015]图2为图1所示方法中步骤SlOl的具体流程图。[0016]图3为图1所示方法中步骤S102的具体流程图。
[0017]图4为图1所示方法中步骤S103的具体流程图。
[0018]图5为本发明一种智能电视开机启动系统较佳实施例的结构框图。
[0019]图6为图5所示系统中判断模块的具体结构框图。
[0020]图7为图5所示系统中标识记录模块的具体结构框图。
[0021]图8为图5所示系统中启动模块的具体结构框图。
【具体实施方式】
[0022]本发明提供一种智能电视开机启动方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0023]请参阅图1,图1为本发明一种智能电视开机启动方法较佳实施例的流程图,如图所示,其包括步骤:
5101、对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序;
5102、当最后一个应用程序为启动器程序,则在一标识文件中记录一启动器程序标识,当最后一个应用程序为非启动器程序时,则在所述标识文件中记录一非启动器程序标识;
5103、在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。
[0024]在本实施例中,通过记忆智能电视关机前的最后一个应用程序,在下一次开机时,直接启动相应的程序,这样用户就能快捷启动相应的程序,当最后一个应用程序为启动器程序时,在下一次开机后,即可直接启动启动器程序,而无需用户返回主页再进入到启动器程序,而在最后一个应用程序为非启动器程序,本实施例中所指的非启动器程序指用于显示电视信号的应用程序,即TV程序,则可以在下一次开机后,即可直接启动TV程序,方便了用户的使用。
[0025]作为本发明更优选的实施例,如图2所示,所述步骤SlOl具体包括:
S201、通过包名查找智能电视系统中用于显示电视信号的应用程序;
Android系统启动完成后会将具有“com.1ntent, category, home”属性的应用程序作为系统第一个启动的应用程序,具有该属性的应用程序即为显示电视信号的应用程序,所以,只需查找到当前系统上具有此属性的应用程序即可查找到用于显示电视信号的应用程序,具体来说,可以在ActivityManagerService启动的时候通过解析/system/app目录下的所有应用程序来找到显示电视信号的应用程序,进而获取包名,通过包名来判断应用程序是否具有上述属性。
[0026]具体查找过程包括:
O、将/system/app中应用程序的AndroidManifest.xml解压出来;
2)、通过AxmlResourceParser 解析 AndroidManifest.xml 中的 category 标签;
3)、将category标签为“com.1ntent, category, home”的应用程序的包名记录下来。例如某一应用程序,其包名为com.tcl.tv,其category标签为“com.1ntent, category.home”,那么则记录器包名com.tcl.tv,代表其为用于显示电视信号的应用程序。
[0027]S202、在智能电视关机前,获取最后一个应用程序的包名,并通过包名判断最后一个应用程序为启动器程序或非启动器程序。
[0028]在Android应用程序启动时会调用框架层启动Activity的方法(ActivityStack.java中StartActivityLocked方法),每当有应用程序启动时,可通过在此方法中通过获取最后一个应用程序的包名,进而判断最后一个应用程序的类型,例如最后一个应用程序的包名为com.tcl.tv,那么其为非启动器程序。
[0029]作为本发明更优选的实施例,如图3所示,在执行步骤S202之后,若判断结果为:最后一个应用程序为启动器程序,则执行步骤S301:向一 Flash文件中写入一个启动器程序标识,用于表示最后一个应用程序为启动器程序;
若判断结果为:最后一个应用程序为非启动器程序,则执行步骤S302:向该Flash文件中写入一个非启动器程序标识,用于表示最后一个应用程序为非启动器程序。
[0030]上述步骤即根据应用程序的类型,向Flash文件中写入一个标识,具体是向Flash中的boot_u1.txt文件中写入标识,例如,当最后一个应用程序为启动器程序时,则写入0, 当最后一个应用程序为非启动器程序时,则写入1,用来辨识应用程序类型。具体实现代码如下:
Il如果当前启动的应用程序的包名为com.tcl.tv
if(〃com.tcl.u1.tv 〃.equals(alnf0.applicationlnf0.packageName)) / {
Il向flash中的boot_u1.txt文件中写入0
File f = new File (〃/data/boot_u1.txt〃);
StringBuffer filebuffer = new StringBuffer();
String fiIepartStr = 〃0〃;
filebuffer.append(filepartStr);
Fileffriter outFile = new Fileffriter(f);
Bufferedffriter out = new
Bufferedffriter(outFile);
try {
out.write (filebuffer.toString());
out.flush 0 ;
} finally {
out.close ();
}
} else {//否则写入I File f = new File (^/data/ boot_u1.txt);
StringBuffer filebuffer = new StringBuffer();
String filepartStr = 〃1〃;
filebuffer.append(filepartStr);
Fileffriter outFile = new Fileffriter(f);
Bufferedffriter out = new Bufferedffriter(outFile);try {
out.write (f ilebuffer.toString ());
out.flush 0 ;
} finally {
out.close ();
}
}
作为本发明更优选的实施例,如图4所示,所述步骤S103具体包括:
5401、读取Flash文件,检测智能电视上一次关机前的最后一个应用程序是启动器程序还是非启动器程序,当最后一个应用程序为启动器程序时,则返回真,当最后一个应用程序为非启动器程序时,则返回假;
5402、当返回真时,则第一个启动启动器程序,当返回假时则第一个启动非启动器程序。
[0031] 上述过程为根据Flash中写入的标识来决定开机后第一个启动的应用程序。在Android系统启动完成后会触发框架层的启动显示电视信号的应用程序的方法(ActivityManagerService.java 中的 StartHomeActivityLocked),在此方法中读取 /data/boot—u1.txt中的值(即Flash中写入的标识)来确定是显示用于显示电视信号的应用程序还是启动器程序。
[0032]具体实现过程如下:
I)、首先编写一个读取/data/boot—u1.txt文件的方法:
//此方法用来判断关机前的最后一个应用程序是否为启动器程序,若是启动器程序返回true,反之返回false
private boolean isBootFromUI(){
StringBuffer buffer = new StringBuffer ();
String line;
InputStream is;
boolean res = false;
try {
is = new FileInputStream(〃/data/boot—u1.txt〃);
BufferedReader reader = new BufferedReader(
new InputStreamReader(is));
line = reader.readLine ();
res = line.equals(〃1〃)? true:false ;
is.close ();
}catch (FileNotFoundException e) {
e.printStackTrace ();
} catch (IOException e) {
e.printStackTrace ();
}2)、然后在 ActivityManagerService.java 中的 StartHomeActivityLocked 方法中通过读取/data/boot_U1.txt文件的值,来判断是启动显示电视信号的应用程序(非启动器程序)还是启动器程序;
假设用于显示电视信号的应用程序的包名为com.tcl.u1.qiyi,主Activity为MainActivity:
if(isBootFromUIO) {
Intent intentUILaucher = new Intent ();intentUILaucher.setComponent(new ComponentName(〃com.tcl.u1.qiyi〃,〃com.tcl.u1.qiy1.MainActivity^));
ActivityInfo alnfoEx =
resoIveActivityInfo(intentUILaucher, STOCK_PM_FLAGS,
userid);
Log.d (TAG, 〃start UI Launcher 〃);
mMainStack.startActivityLocked(null, intentUILaucher, null,alnfoEx, null, null, 0, 0, 0, 0, null, false, null)
}
基于上述方法,本发明还提供一种智能电视开机启动系统,如图5所示,其包括:
判断模块100,用于对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序;
标识记录模块200,用于当最后一个应用程序为启动器程序,则在一标识文件中记录一启动器程序标识,当最后一个应用程序为非启动器程序时,则在所述标识文件中记录一非启动器程序标识;
启动模块300,用于在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0033]进一步,如图6所示,所述判断模块100具体包括:
查找单元110,用于通过包名查找智能电视系统中用于显示电视信号的应用程序;
判断单元120,用于在智能电视关机前,获取最后一个应用程序的包名,并通过包名判断最后一个应用程序为启动器程序或非启动器程序。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0034]进一步,如图7所示,所述标识记录模块200具体包括:
启动器程序标识单元210,用于若最后一个应用程序为启动器程序,则向一 Flash文件中写入一个启动器程序标识,用于表示最后一个应用程序为启动器程序;
非启动器程序标识单元220,用于若最后一个应用程序为非启动器程序,则向该Flash文件中写入一个非启动器程序标识,用于表示最后一个应用程序为非启动器程序。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0035]进一步,如图8所示,所述启动模块300具体包括:
返回单元310,用于读取Flash文件,检测智能电视上一次关机前的最后一个应用程序是启动器程序还是非启动器程序,当最后一个应用程序为启动器程序时,则返回真,当最后一个应用程序为非启动器程序时,则返回假;
启动单元320,用于当返回真时,则第一个启动启动器程序,当返回假时则第一个启动非启动器程序。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0036]综上所述,本发明通过对智能电视关机前的最后一个应用程序进行分析,并根据应用程序的类型记录启动器程序标识或者非启动器程序标识,在下一次开机时,检测到是启动器程序标识时,则第一个启动启动器程序,在检测到是非启动器程序标识时,则第一个启动非启动器程序,通过本发明实现根据关机前的应用程序来确定显示的程序类型,当用户关机前的最后一个应用程序为启动器程序时,则可以直接开机启动启动器程序,而无需点击Home键来进入到启动器程序,若关机前的最后一个应用程序为非启动器程序时,则可以直接开机启动电视画面,本发明根据记忆用户的使用习惯来确定开机第一个启动的程序,方便了用户的使用,简化了操作,提升了用户的使用体验。
[0037]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种智能电视开机启动方法,其特征在于,包括步骤: A、对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序; B、当最后一个应用程序为启动器程序,则在一标识文件中记录一启动器程序标识,当最后一个应用程序为非启动器程序时,则在所述标识文件中记录一非启动器程序标识; C、在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。
2.根据权利要求1所述的智能电视开机启动方法,其特征在于,所述步骤A具体包括: Al、通过包名查找智能电视系统中用于显示电视信号的应用程序; A2、在智能电视关机前,获取最后一个应用程序的包名,并通过包名判断最后一个应用程序为启动器程序或非启动器程序。
3.根据权利要求1所述的智能电视开机启动方法,其特征在于,所述步骤B具体包括: 若最后一个应用程序为启动器程序,则向一 Flash文件中写入一个启动器程序标识,用于表示最后一个应用程序为启动器程序; 若最后一个应用程序为非启动器程序,则向该Flash文件中写入一个非启动器程序标识,用于表示最后一个应用程序为非启动器程序。
4.根据权利要求3所述的智能电视开机启动方法,其特征在于,所述步骤C具体包括: Cl、读取Flash文件,检测智能电视上一次关机前的最后一个应用程序是启动器程序还是非启动器程序,当最后一个应用程序为启动器程序时,则返回真,当最后一个应用程序为非启动器程序时,则返回假;` C2、当返回真时,则第一个启动启动器程序,当返回假时,则第一个启动非启动器程序。
5.一种智能电视开机启动系统,其特征在于,包括: 判断模块,用于对智能电视在关机前的最后一个应用程序进行分析,判断最后一个应用程序为启动器程序或非启动器程序; 标识记录模块,用于当最后一个应用程序为启动器程序,则在一标识文件中记录一启动器程序标识,当最后一个应用程序为非启动器程序时,则在所述标识文件中记录一非启动器程序标识; 启动模块,用于在智能电视下一次开机启动时,检测标识文件,当标识文件中记录的是启动器程序标识时,则第一个启动启动器程序,当标识文件中记录的是非启动器程序标识时,则第一个启动非启动器程序。
6.根据权利要求5所述的智能电视开机启动系统,其特征在于,所述判断模块具体包括: 查找单元,用于通过包名查找智能电视系统中用于显示电视信号的应用程序; 判断单元,用于在智能电视关机前,获取最后一个应用程序的包名,并通过包名判断最后一个应用程序为启动器程序或非启动器程序。
7.根据权利要求5所述的智能电视开机启动系统,其特征在于,所述标识记录模块具体包括: 启动器程序标识单元,用于若最后一个应用程序为启动器程序,则向一 Flash文件中写入一个启动器程序标识,用于表示最后一个应用程序为启动器程序; 非启动器程序标识单元,用于若最后一个应用程序为非启动器程序,则向该Flash文件中写入一个非启动器程序标识,用于表示最后一个应用程序为非启动器程序。
8.根据权利要求7所述的智能电视开机启动系统,其特征在于,所述启动模块具体包括: 返回单元,用于读取Flash文件,检测智能电视上一次关机前的最后一个应用程序是启动器程序还是非启动器程序,当最后一个应用程序为启动器程序时,则返回真,当最后一个应用程序为非启动器程序时,则返回假; 启动单元,用于 当返回真时,则第一个启动启动器程序,当返回假时则第一个启动非启动器程序。
【文档编号】H04N21/443GK103686370SQ201310728380
【公开日】2014年3月26日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】霍平华 申请人:Tcl集团股份有限公司