在基于Android内核的电视系统中集成Android应用系统的方法

文档序号:6443935阅读:248来源:国知局
专利名称:在基于Android内核的电视系统中集成Android应用系统的方法
技术领域
本发明属于通信电子领域,尤其涉及一种在基于Android内核的电视系统中集成 Android应用系统的方法。
背景技术
Android应用系统为Google公司开发的一种应用程序系统,该系统中内核的结构和标准Linux内核基本相同,Android在Linux基础上增加了私有的内容,在此为了和标准 Linux内核区分,称之为Android内核,Android应用系统是基于Android内核的应用集合。目前已经存在大量基于标准Linux内核的电视系统,这些电视系统可以通过修改移植到Android内核上运行,在此称这些移植后的电视系统(基于标准Linux内核的应用系统)为基于Android内核的电视系统。然而,若将电视系统和Android应用系统同时运行在Android内核上,由于电视系统有自己的⑶I、输入/输出体系,而Android应用系统也有自己的GUI、输入/输出体系,所以,在运行Android应用程序时,就会存在两个系统的输入/输出资源的冲突问题。

发明内容
为解决上述技术问题,本发明提供一种在基于Android内核的电视系统中集成 Android应用系统的方法,所述方法包括将Android应用系统的Binder驱动适配层、Binder核心框架层和Binder框架代码移植到该基于Android内核的电视系统中,以形成Binder通信机制;设置该Android应用系统的第一应用管理客户端、该基于Android内核的电视系统的第二应用管理客户端以及应用管理服务端的应用管理器架构,其中,第一应用管理客户端和第二应用管理客户端分别通过Binder通信机制与应用管理服务端通信;定义第一应用管理客户端的第一客户端接口、第二应用管理客户端的第二客户端接口以及应用管理服务端的服务端接口和应用管理器接口 ;通过该第一客户端接口、第二客户端接口、服务端接口及应用管理器接口为应用管理器提供运行或停止Android应用系统的应用程序的接口。本发明提供的在基于Android内核的电视系统中集成Android应用系统的方法可以将Android应用程序集成到基于Android内核的电视系统中,实现无缝的运行效果,使用户感觉Android应用系统的Android应用程序就是基于Android内核的电视系统的一部分,由于Android系统有很多的应用程序,因此,有效地解决了在运行Android应用程序时, 两个系统的输入/输出资源的冲突问题。


图1是本发明在基于Android内核的电视系统中集成Android应用系统的方法的较佳实施方式的流程图;图2是图1中所述Android Binder的基本架构图;图3是图1中所述应用管理器架构具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供的一种在基于Android内核的电视系统中集成Android应用系统的方法,该方法如图1所示,包括在步骤SlO中,将Android应用系统的Binder驱动适配层、Binder核心框架层和 Binder框架代码移植到该基于Android内核的电视系统中,以形成Binder通信机制。具体地,对于Binder的移植,配合图2所示,Android Binder的基本架构包括 Binder驱动程序、Binder驱动适配层、Binder核心框架层、Java Binder框架、Java Binder 的服务器/客户端、C++Binder框架、C++Binder的服务器/客户端,关于Binder的基本架构的上述各层的作用为本领域现有技术,故在此不再赘述。本实施方式中,如果该基于Android内核的电视系统是采用C/C++语言开发的,则需要移植Binder驱动适配层、 Binder核心框架层和本地Binder框架代码到该基于Android内核的电视系统中,以形成 Binder通信机制,如果该基于Android内核的电视系统是采用Java语言开发的,则需要移植Binder驱动适配层、Binder核心框架层和Java Binder框架代码到该基于Android内核的电视系统中,以形成Binder通信机制。而Binder通信机制也为本领域现有技术,故在此不再赘述。在步骤Sll中,设置该Android应用系统的第一应用管理客户端、该基于Android 内核的电视系统的第二应用管理客户端以及应用管理服务端的应用管理器架构,其中,第一应用管理客户端和第二应用管理客户端分别通过Binder通信机制与应用管理服务端通具体地,配图3所示,图3是图1中所述应用管理器架构图,所述应用管理器架构中的应用管理服务端用于实现注册和注销该位于Android应用系统的第一应用管理客户端和该基于Android内核的电视系统的第二应用管理客户端的功能,以及还用于在运行或停止该Android应用系统的App时,实现该Android应用系统的第一应用管理客户端和该基于Android内核的电视系统的第二应用管理客户端之间切换的功能。所述第一应用管理客户端和第二应用管理客户端用于封装应用管理服务端的功能,对外提供应用管理器运行或停止该Android应用系统的App而调用的第一客户端接口和第二客户端接口,以及实现通知函数的功能,供应用管理服务端在第一应用管理客户端和第二应用管理客户端之间切换时调用。在步骤S12中,定义第一应用管理客户端的第一客户端接口、第二应用管理客户端的第二客户端接口以及应用管理服务端的服务端接口和应用管理器接口;具体地,配合图3所示,所述应用管理服务端的服务端接口为利用Binder 通信机制,建立第一客户端接口或者第二客户端接口与应用管理器之间的联系的CN 102541558 A
IAppManagerService接ロ类。所述应用管理服务端的应用管理器接ロ为用于定义注册和注销该第一应用管理客户端或该第二应用管理客户端,以及提供运行或停止Android应用系统的 App 的 IAppManager 接 ロ类。所述第一客户端接口和第二客户端接ロ为实现通知函数的功能的 IAppManagerClient 接口类。进ー步地,所述IAppManagerService接ロ类利用Binder通信机制,建立第一应用管理客户端或第二应用管理客户端(AppManagerClient)和应用管理器(AppManager)之间
的联系。具体实现可为
class 丄AppManagerService public !Interface
public:
DECLAREMETAINTERFACE(AppManagerService);
virtual sp<IAppManager> connect! const sp<IAppManagerClient>&
AppManagerClient) = 0;
};所述IAppManagerService接ロ类只定义接ロ,没有具体实现,而接ロ的具体实现在AppManagerService类中。具体为先通过ー个利用Binder通信机制提供进程间通讯功能的BnAppManagei^ervice类来继承IAppManagei^ervice接ロ类,然后通过ー个 $3 IAppManagerService _ Π ^ltl 白勺 connect _ ΓΙ 白勺 AppManagerService ^jfe^S/lc BnAppManagerService类,从而实现IAppManagei^ervice接ロ类所定义接ロ的功能。进ー步地,所述IAppManager接ロ类主要用于定义注册和注销该第一应用管理客户端或该第二应用管理客户端,以及提供运行或停止Android应用系统的接ロ。具体实现
可为
class IAppManager: public !Interfacepublic:
DECLARE—ΜΕΤΑ—INTERFACE(AppManager); virtual int Register(const uint32—t join—key) = 0; virtual int UnRegister(void) = 0; virtual int RequestToRun(const char *name) = 0; virtual int RequestToExit(const char *name) = 0; virtual int Leave(void) = 0;
};Register 注册 AppManagerClient 到 AppManager,^ key 标示不同的 Client。UnRegister 注销 AppManagerClient0RequestToRun 运行 Android APK 函数。RequestToExit 要求 Android APK 退出函数。Leave:退出函数。所述IAppManager接口类只是定义接口,没有具体实现,而具体实现在 AppManagerService: Client类中。具体为先通过一个利用Binder通信机制提供进程间通信功能的BnAppManager类来继承IAppManager接口类,然后通过一个实现IAppManager 接口类定义的接口的AppManagei^ervice :Client类来继承BnAppManager类,从而实现 IAppManagerService接口类所定义接口的功能。进一步地,所述IAppManagerClient接口类主要是作通知函数使用,相当于回调
函数的功能。具体实现可为
class IAppManagerClient: public IInterface {public:
DECLARE—ΜΕΤΑ—INTERFACE(AppManagerClient); virtual int onCreate(const char *androidApp = NULL) = 0; virtual int onDestroy(void) = 0; virtual int onGetFocus(void) = 0; virtual int onLoseFocus(void) = 0;所述IAppManagerCl ient接口类只是定义接口,没有具体实现,而具体实现在AppManager类中。具体可先通过一个利用Binder通信机制提供进程间通信功能的BnAppManagerClient类来继承IAppManagerClient接口类,然后通过一个实现 IAppManagerClient ^ Π ^1 : . Π 的 AppManager ^jfe^S/lc BnAppManagerClient ^,从而实现IAppManagerClient接口类所定义接口的功能。在步骤S13中,通过该第一客户端接口、第二客户端接口、服务端接口及应用管理器接口为应用管理器提供运行或停止Android应用系统的应用程序的接口。具体地,所述 IAppManagerService 接口类、IAppManager 接口类、 IAppManagerClient接口类定义了应用管理器(AppManager)中间层实现的框架。所以, 当基于Android内核的电视系统的AppManager启动时,其可作为Cl ient注册到应用管理服务端(AppManagei^ervice)中,由 AppManagei^ervcie 来进行集中管理;当 Andorid 应用系统的AppManager启动时,其可作为Client注册到AppManagerService中,由 AppManagerServcie来进行集中管理,此时上层App可以通过AppManager封装的接口来调用相关的功能,比如运行或停止Android应用程序。本发明提供在基于Android内核的电视系统中集成Android应用系统的方法可以将Android应用程序集成到基于Android内核的电视系统中,实现无缝的运行效果,使用户感觉Android应用系统的Android应用程序就是基于Android内核的电视系统的一部分, 由于Android系统有很多的应用程序,因此,有效地解决了在运行Android应用程序时,两个系统的输入/输出资源的冲突问题。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在基于Android内核的电视系统中集成Android应用系统的方法,其特征在于, 所述方法包括将Android应用系统的Binder驱动适配层、Binder核心框架层和Binder框架代码移植到该基于Android内核的电视系统中,以形成Binder通信机制;设置该Android应用系统的第一应用管理客户端、该基于Android内核的电视系统的第二应用管理客户端以及应用管理服务端的应用管理器架构,其中,第一应用管理客户端和第二应用管理客户端分别通过Binder通信机制与应用管理服务端通信;定义第一应用管理客户端的第一客户端接口、第二应用管理客户端的第二客户端接口以及应用管理服务端的服务端接口和应用管理器接口;通过该第一客户端接口、第二客户端接口、服务端接口及应用管理器接口为应用管理器提供运行或停止Android应用系统的应用程序的接口。
2.根据权利要求1所述的方法,其特征在于,所述应用管理器架构中的应用管理服务端用于实现注册和注销该Android应用系统的第一应用管理客户端和该基于Android内核的电视系统的第二应用管理客户端的功能,以及还用于在运行或停止该Android应用系统的应用程序时,实现该Android应用系统的第一应用管理客户端和该基于Android内核的电视系统的第二应用管理客户端之间切换的功能。
3.根据权利要求2所述的方法,其特征在于,所述第一应用管理客户端和第二应用管理客户端用于封装应用管理服务端的功能,对外提供应用管理器运行或停止该Android应用系统的应用程序而调用的第一客户端接口和第二客户端接口,以及实现通知函数的功能,供应用管理服务端在第一应用管理客户端和第二应用管理客户端之间切换时调用。
4.根据权利要求1所述的方法,其特征在于,所述应用管理服务端的服务端接口为利用Binder通信机制,建立第一客户端接口与应用管理器之间的联系的 IAppManagerService接口类;所述应用管理服务端的应用管理器接口为用于注册或注销该第一应用管理客户端和该第二应用管理客户端,以及提供运行或停止Android应用系统的应用程序的IAppManager接口类。
5.根据权利要求4所述的方法,其特征在于,所述第一客户端接口或第二客户端接口为实现通知函数的功能的IAppManagerClient接口类。
全文摘要
本发明涉及一种在基于Android内核的电视系统中集成Android应用系统的方法,包括将Android应用系统的Binder驱动适配层、Binder核心框架层和Binder框架代码移植到该电视系统中,以形成Binder通信机制;设置Android应用系统的第一应用管理客户端、电视系统的第二应用管理客户端以及应用管理服务端的应用管理器架构,其中,第一应用管理客户端和第二应用管理客户端分别通过Binder通信机制与应用管理服务端通信;定义第一应用管理客户端的第一客户端接口、第二应用管理客户端的第二客户端接口以及应用管理服务端的服务端接口和应用管理器接口;通过第一客户端接口、第二客户端接口、服务端接口及应用管理器接口为应用管理器提供运行或停止Android应用程序的接口。
文档编号G06F9/44GK102541558SQ201110449640
公开日2012年7月4日 申请日期2011年12月28日 优先权日2011年12月28日
发明者姜国定 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1