智能电视信源切换方法及装置与流程

文档序号:12136462阅读:1209来源:国知局
智能电视信源切换方法及装置与流程

本发明涉及电视技术领域,尤其涉及智能电视信源切换方法及装置。



背景技术:

随着智能设备技术的发展,运行在智能电视系统中的应用也越来越多样化。由于不同应用的需要,智能电视设置有很多信源,比如HDMI(高清晰度多媒体信号)、VGA(视频图形阵列)、DVI(数字视频接口)、ATV(射频模拟电视信号)、DTV(数字电视信号)、XBOX游戏机等等,这些信源通过采用不同的输入通道,满足了不同应用的信源使用需求。

然而,智能电视的多信源也使得需要切换信源的场景增多,由于应用切换信源的操作是在智能电视搭载的系统的生命周期内执行,当多个应用之间相互切换时,会导致系统的生命周期错乱,由此可能会导致切换信源的时序错乱,最终切换到到信源并非是用户真正想要切换到的信源。



技术实现要素:

本发明的主要目的在于提出一种智能电视信源切换方法及装置,旨在解决多个应用相互切换信源时导致的信源切换错乱的技术问题。

为实现上述目的,本发明提供一种智能电视信源切换方法,所述方法包括如下步骤:

接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;

接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;

判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;

若是,则执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

可选地,所述接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID的步骤之前,还包括:

设置权限管理资源池,所述权限管理资源池用于存储若干ID和每个ID当前所处的状态。

可选地,所述判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限的步骤包括:

判断当前所述权限资源存储池中是否存在所述权限ID;

若是,则判断所述权限ID当前是否处于预设状态;

若是,则判定所述权限ID当前具备信源切换权限。

可选地,所述执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限的步骤之前,还包括:

判断所述权限ID是否与预设的全局变量中的ID相同,所述全局变量用于存储当前具备信源切换权限的ID;

若是,则执行步骤:执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

可选地,所述信源切换请求包括抢占式信源切换请求和非抢占式信源切换请求。

此外,为实现上述目的,本发明还提供一种智能电视信源切换装置,所述装置包括:

分配模块,用于接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;

接收模块,用于接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;

第一判断模块,用于判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;

执行模块,用于若所述信源切换请求中的所述权限ID当前具备信源切换权限,则执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

可选地,所述装置还包括:

设置模块,用于设置权限管理资源池,所述权限管理资源池用于存储若干ID和每个ID当前所处的状态。

可选地,所述第一判断模块还用于:

判断当前所述权限资源存储池中是否存在所述权限ID;

若是,则判断所述权限ID当前是否处于预设状态;

若是,则判定所述权限ID当前具备信源切换权限。

可选地,所述装置还包括:

第二判断模块,用于判断所述权限ID是否与预设的全局变量中的ID相同,所述全局变量用于存储当前具备信源切换权限的ID;

所述执行模块还用于在所述权限ID与预设的全局变量中的ID相同时,执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

可选地,所述信源切换请求包括抢占式信源切换请求和非抢占式信源切换请求。

本发明接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;若是,则执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。本发明通过为信源切换提供一种权限控制机制,当某一应用请求切换信源时,必须通过权限申请才可以完成,当某一应用获取执行权限后,其他应用就失去了执行权限,从而保证了始终只有一个应用有执行权限,从而解决了多个应用相互切换信源时导致的信源切换错乱的技术问题。

附图说明

图1为本发明智能电视信源切换方法第一实施例的流程示意图;

图2为本发明智能电视信源切换方法第二实施例的流程示意图;

图3为本发明权限资源管理池的设计场景示意图;

图4为本发明对应用进行权限控制的设计场景示意图;

图5为本发明智能电视信源切换方法第三实施例的流程示意图;

图6为本发明判断应用是否具备执行信源切换权限的流程示意图;

图7为本发明判断应用是否具备执行信源切换权限的另一流程示意图;

图8为本发明应用调用不同切信源接口进行权限申请的流程示意图;

图9为本发明应用A和应用B信源切换的应用场景示意图;

图10为本发明智能电视信源切换装置第一实施例的功能模块示意图;

图11为本发明智能电视信源切换装置第二实施例的功能模块示意图;

图12为本发明智能电视信源切换装置第三实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种智能电视信源切换方法。

参照图1,图1为本发明智能电视信源切换方法第一实施例的流程示意图。所述方法包括如下步骤:

步骤S10,接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;

在智能电视系统安装了多个应用的情形下,智能电视会根据不同应用的需要来对当前播放信源进行切换,比如智能电视当前处于数字电视信源播放模式,用户通过某个网络视频应用点播网络视频,则智能电视需要切换至HDMI多媒体信源播放模式以播放网络视频。具体地,智能电视可以接收用户的遥控指令来切换信源,也可以预先设置信源切换规则,比如在预设应用启动后自动切换至该应用对应的信源,具体实施中可进行灵活设置。

与现有技术不同之处在于,本发明执行信源切换的应用必须具备向系统申请的权限,并且只有当申请的权限符合预设条件时,该应用才能执行信源切换。具体地,应用可以在某一时刻基于用户触发的权限申请指令向系统进行权限申请,也可以在启动后自动向系统进行权限申请,也可以在应用程序运行的某一时刻自动向系统进行权限申请,总之,本发明对应用进行权限申请的具体场景和时刻不作限定。

在应用申请权限时,智能电视接收该应用的权限申请请求,并从预设的权限管理资源池中为该应用分配一个权限ID(此ID是唯一存在的),其中,权限资源管理池中存储了若干ID,且每个ID都有其对应的状态。需要说明的是,智能电视分配ID时可以是随机分配,也可以是顺序分配,且为保证ID与应用之间的一一对应关系,一个ID只能分配给一个应用。

步骤S20,接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;

在应用获取到系统分配的权限ID后,智能电视接收某一时刻该应用发起信源切换请求,该信源切换请求携带之前分配给应用的权限ID,此时智能电视可根据该权限ID判断信源切换请求是由哪一个应用发起的。

步骤S30,判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;

具体地,智能电视可查找权限资源存储池,进而获取权限资源存储池中该权限ID当前的状态,通过该权限ID当前的状态来判断该权限ID当前是否具备信源切换权限。比如,对于一个ID其状态可分为为Request(请求)、Active(活动)、Release(释放)三种,若该权限ID当前为Release状态,则可判定其不具备信源切换权限。

步骤S40,若所述信源切换请求中的所述权限ID当前具备信源切换权限,则执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

若所述权限ID当前具备信源切换权限,则应用执行信源切换,同时限制权限管理资源池中其他ID的信源切换权限。比如,当某一ID有权限切换信源时,智能电视会将权限管理资源池中其他ID的权限都取消,且其他ID对应的状态也会变为Release,从而保证了当前只有唯一一个ID具有执行权限。

若所述权限ID当前不具备信源切换权限,则智能电视将不会执行信源切换,此时智能电视可以向应用返回无权限信息。

在本实施例中,智能电视接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;若是,则执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。本实施例通过为信源切换提供一种权限控制机制,当某一应用请求切换信源时,必须通过权限申请才可以完成,当某一应用获取执行权限后,其他应用就失去了执行权限,从而保证了始终只有一个应用有执行权限,从而解决了多个应用相互切换信源时导致的信源切换错乱的技术问题。

进一步地,参照图2,图2为本发明智能电视信源切换方法第二实施例的流程示意图。基于上述图1所示的实施例,所述步骤S10之前,还可以包括:

步骤S50,设置权限管理资源池,所述权限管理资源池用于存储若干ID和每个ID当前所处的状态。

为满足多应用的权限控制需求,智能电视可以预先设置一个权限管理资源池,用来存放所有权限申请控制信息。参照图3,图3为本发明权限资源管理池的设计场景示意图,权限资源管理池id_pool中存储了若干ID和每个ID当前所处的状态,如图中id_1/status_1,id_2/status_2,…,id_n/status_n,…。同时参照图4,图4为本发明对应用进行权限控制的设计场景示意图。Control_Client(权限控制)包含id/status两个变量,分别用来记录id以及id对应的状态,其中id为整形变量(int(1,2,…,n)),状态status又分为Request/Active/Release三种。

在设置好权限管理资源池后,可将权限管理资源池中的变量进行初始化处理。具体地,可首先将各id初始化为非法值(如-1),status状态初始化为EN_CONTROL_CLIENT_RELEASE。当有应用调用request时,系统会从id_pool中分配一个id给应用,同时修改此id的状态status为EN_CONTROL_CLIENT_REQUEST。

进一步地,所述步骤S30可以包括:

步骤S31,判断当前所述权限资源存储池中是否存在所述权限ID;

步骤S32,若当前所述权限资源存储池中存在所述权限ID,则判断所述权限ID当前是否处于预设状态;

步骤S33,若所述权限ID当前处于预设状态,则判定所述权限ID当前具备信源切换权限。

由于在权限资源存储池在分配给应用一个权限ID后,该权限资源存储池中的变量可能由于用户的其他操作发生更改,比如增加或删除id变量或者id变量的状态发生改变,因此,智能电视需要首先判断当前权限资源存储池中是否存在应用的权限ID,若存在,则再判断所述权限ID当前是否处于预设状态,比如预设状态可以为EN_CONTROL_CLIENT_REQUEST或EN_CONTROL_CLIENT_ACTIVE,若所述权限ID当前的状态为这两种状态中的其中一种,则判定所述权限ID当前具备信源切换权限;反之,若权限资源存储池当前不存在所述权限ID或所述权限ID当前的状态为EN_CONTROL_CLIENT_RELEASE,则判定所述权限ID当前不具备信源切换权限。之后,智能电视将权限资源存储池中其他id及其状态更新为初始值,以保证当前只有唯一一个id具备信源切换权限,并执行对应应用的信源切换。

本实施例中,通过设置权限资源存储池来记录各id及其状态,能够满足多应用的权限控制需求,同时通过判断信源切换请求中的权限ID当前是否具备信源切换权限,可以对应用的权限ID进行进一步确认,保证只有在权限ID当前具备信源切换权限的条件下再执行信源切换,增强了信源切换的准确性。

进一步地,参照图5,图5为本发明智能电视信源切换方法第三实施例的流程示意图。基于上述的实施例,所述步骤S40之前,还可以包括:

步骤S60,判断所述权限ID是否与预设的全局变量中的ID相同,所述全局变量用于存储当前具备信源切换权限的ID;

若所述权限ID与预设的全局变量中的ID相同,则执行步骤S40:执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

在本实施例中,智能电视除了设置权限控制变量id和status外,还设置了一个全局变量,记为Active_id(初始化为-1),用于存储当前具备信源切换权限的ID。

参照图6,图6为本发明判断应用是否具备执行信源切换权限的流程示意图。在一实施例中,在初始状态下,权限资源资源池中id_A/id_B…/id_X=-1,某一时刻应用A调用request时,系统会从id_pool中分配一个整形id_A给应用,同时修改id_A的status为EN_CONTROL_CLIENT_REQUEST,之后,当应用A调用切信源接口(setinputsource())并发出信源切换请求时,系统会根据id_A在id_pool中查找此id是否存在,并且其状态status是否为EN_CONTROL_CLIENT_REQUEST或EN_CONTROL_CLIENT_ACTIVE,若存在且status正确,则将id_A的status修改为EN_CONTROL_CLIENT_ACTIVE,并将全局变量Active_id更新为id_A,同时也会将id_pool中其它id及status更新为初始值,而之后Active_id的值可能会由于其他应用的抢占而发生变化,因而在执行切信源的动作之前智能电视需要进一步判断id_A和Active_id是否相同,若相同则执行切信源的动作,若不同或是id_pool中不存在id_A亦或是id_A的status错误,则均返回无权限,不进行应用A的信源切换。

参照图7,图7为本发明判断应用是否具备执行信源切换权限的另一流程示意图。在另一实施例中,某一时刻应用A具有系统分配的id_A,此时应用A若调用release,同样地,系统会根据id_A在id_pool中查找此id是否存在,并且其状态status是否为EN_CONTROL_CLIENT_REQUEST或EN_CONTROL_CLIENT_ACTIVE,若存在且status正确,则再判断id_A和Active_id是否相同,若相同就将Active_id更新为初始值(-1),不一致则只将id_A及其status更新为初始值。

本实施例通过设置一个全局变量,能够实时记录当前具有信源切换权限的id值,通过对应用的权限ID进行进一步确认,保证了只有在权限ID当前具备信源切换权限且与全局变量相等时才执行信源切换,进一步增强了信源切换的准确性。

进一步地,基于上述的实施例,本发明智能电视信源切换方法中应用的信源切换请求包括抢占式信源切换请求和非抢占式信源切换请求。

参照图8,图8为本发明应用调用不同切信源接口进行权限申请的流程示意图。对应用来说切信源接口可以分为两种:抢占式切信源接口和非抢占式切信源接口,其中,抢占式切信源接口是指调用返回无权限时,会自动重新申请权限并执行切信源动作,非抢占式切信源接口是指调用返回无权限时,不会自动重新申请权限。

本发明可以预先设置应用在执行OnResume(重新激活)时调用抢占式的切信源接口,在执行OnRelease(释放)时调用非抢占式的切信源接口。

以应用A和应用B进行举例说明。参照图9,图9为本发明应用A和应用B信源切换的应用场景示意图。在某一时刻Active A执行OnResume切信源,之后再执行OnRelease切信源,而在执行OnRelease切信源之前出现了Active B的OnResume切信源的请求,若采用现有技术,则系统在执行Active B的OnResume切信源后会马上将Active B的切信源OnRelease,这将导致最终信源切换错误。通过本发明的权限控制机制,某一时刻Active B执行OnResume调用抢占式的切信源接口,会自动申请权限,切换信源的执行权限就被Active B取得,之后Active A执行OnRelease再调用非抢占式的切信源接口时会因为没有权限而不被执行,这样就可以有效解决因系统生命周期错乱导致的信源切换错误问题,同时也可以兼容正常的信源切换需求。

本发明还提供一种智能电视信源切换装置。

参照图10,图10为本发明智能电视信源切换装置第一实施例的功能模块示意图。所述装置包括:

分配模块10,用于接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;

在智能电视系统安装了多个应用的情形下,智能电视会根据不同应用的需要来对当前播放信源进行切换,比如智能电视当前处于数字电视信源播放模式,用户通过某个网络视频应用点播网络视频,则智能电视需要切换至HDMI多媒体信源播放模式以播放网络视频。具体地,智能电视可以接收用户的遥控指令来切换信源,也可以预先设置信源切换规则,比如在预设应用启动后自动切换至该应用对应的信源,具体实施中可进行灵活设置。

与现有技术不同之处在于,本发明执行信源切换的应用必须具备向系统申请的权限,并且只有当申请的权限符合预设条件时,该应用才能执行信源切换。具体地,应用可以在某一时刻基于用户触发的权限申请指令向系统进行权限申请,也可以在启动后自动向系统进行权限申请,也可以在应用程序运行的某一时刻自动向系统进行权限申请,总之,本发明对应用进行权限申请的具体场景和时刻不作限定。

在应用申请权限时,分配模块10接收该应用的权限申请请求,并从预设的权限管理资源池中为该应用分配一个权限ID(此ID是唯一存在的),其中,权限资源管理池中存储了若干ID,且每个ID都有其对应的状态。需要说明的是,分配模块10分配ID时可以是随机分配,也可以是顺序分配,且为保证ID与应用之间的一一对应关系,一个ID只能分配给一个应用。

接收模块20,用于接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;

在应用获取到系统分配的权限ID后,接收模块20接收某一时刻该应用发起信源切换请求,该信源切换请求携带之前分配给应用的权限ID,此时智能电视可根据该权限ID判断信源切换请求是由哪一个应用发起的。

第一判断模块30,用于判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;

具体地,第一判断模块30可查找权限资源存储池,进而获取权限资源存储池中该权限ID当前的状态,通过该权限ID当前的状态来判断该权限ID当前是否具备信源切换权限。比如,对于一个ID其状态可分为为Request(请求)、Active(活动)、Release(释放)三种,若该权限ID当前为Release状态,则可判定其不具备信源切换权限。

执行模块40,用于若所述信源切换请求中的所述权限ID当前具备信源切换权限,则执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

若所述权限ID当前具备信源切换权限,则执行模块40执行应用的信源切换,同时限制权限管理资源池中其他ID的信源切换权限。比如,当某一ID有权限切换信源时,执行模块40会将权限管理资源池中其他ID的权限都取消,且其他ID对应的状态也会变为Release,从而保证了当前只有唯一一个ID具有执行权限。

若所述权限ID当前不具备信源切换权限,则执行模块40将不会执行信源切换,此时执行模块40可以向应用返回无权限信息。

在本实施例中,分配模块10接收应用的权限申请请求,根据所述权限申请请求从预设的权限管理资源池中为所述应用分配一个权限ID;接收模块20接收所述应用的信源切换请求,所述信源切换请求携带分配的所述权限ID;第一判断模块30判断所述信源切换请求中的所述权限ID当前是否具备信源切换权限;若是,则执行模块40执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。本实施例通过为信源切换提供一种权限控制机制,当某一应用请求切换信源时,必须通过权限申请才可以完成,当某一应用获取执行权限后,其他应用就失去了执行权限,从而保证了始终只有一个应用有执行权限,从而解决了多个应用相互切换信源时导致的信源切换错乱的技术问题。

进一步地,参照图11,图11为本发明智能电视信源切换装置第二实施例的功能模块示意图。基于上述图10所示的实施例,所述装置还可以包括:

设置模块50,用于设置权限管理资源池,所述权限管理资源池用于存储若干ID和每个ID当前所处的状态。

为满足多应用的权限控制需求,设置模块50可以预先设置一个权限管理资源池,用来存放所有权限申请控制信息。参照图3,图3为本发明权限资源管理池的设计场景示意图,权限资源管理池id_pool中存储了若干ID和每个ID当前所处的状态,如图中id_1/status_1,id_2/status_2,…,id_n/status_n,…。同时参照图4,图4为本发明对应用进行权限控制的设计场景示意图。Control_Client(权限控制)包含id/status两个变量,分别用来记录id以及id对应的状态,其中id为整形变量(int(1,2,…,n)),状态status又分为Request/Active/Release三种。

在设置好权限管理资源池后,可将权限管理资源池中的变量进行初始化处理。具体地,可首先将各id初始化为非法值(如-1),status状态初始化为EN_CONTROL_CLIENT_RELEASE。当有应用调用request时,系统会从id_pool中分配一个id给应用,同时修改此id的状态status为EN_CONTROL_CLIENT_REQUEST。

进一步地,所述第一判断模块30还用于:判断当前所述权限资源存储池中是否存在所述权限ID;若是,则判断所述权限ID当前是否处于预设状态;若是,则判定所述权限ID当前具备信源切换权限。

由于在权限资源存储池在分配给应用一个权限ID后,该权限资源存储池中的变量可能由于用户的其他操作发生更改,比如增加或删除id变量或者id变量的状态发生改变,因此,第一判断模块30需要首先判断当前权限资源存储池中是否存在应用的权限ID,若存在,则再判断所述权限ID当前是否处于预设状态,比如预设状态可以为EN_CONTROL_CLIENT_REQUEST或EN_CONTROL_CLIENT_ACTIVE,若所述权限ID当前的状态为这两种状态中的其中一种,则判定所述权限ID当前具备信源切换权限;反之,若权限资源存储池当前不存在所述权限ID或所述权限ID当前的状态为EN_CONTROL_CLIENT_RELEASE,则第一判断模块30判定所述权限ID当前不具备信源切换权限。之后,执行模块40将权限资源存储池中其他id及其状态更新为初始值,以保证当前只有唯一一个id具备信源切换权限,并执行对应应用的信源切换。

本实施例中,通过设置权限资源存储池来记录各id及其状态,能够满足多应用的权限控制需求,同时通过判断信源切换请求中的权限ID当前是否具备信源切换权限,可以对应用的权限ID进行进一步确认,保证只有在权限ID当前具备信源切换权限的条件下再执行信源切换,增强了信源切换的准确性。

进一步地,参照图12,图12为本发明智能电视信源切换装置第三实施例的功能模块示意图。基于上述的实施例,所述装置还可以包括:

第二判断模块60,用于判断所述权限ID是否与预设的全局变量中的ID相同,所述全局变量用于存储当前具备信源切换权限的ID;

所述执行模块40还用于在所述权限ID与预设的全局变量中的ID相同时,执行所述应用的信源切换,并限制所述权限管理资源池中除所述权限ID之外的所有ID的信源切换权限。

在本实施例中,智能电视除了设置权限控制变量id和status外,还设置了一个全局变量,记为Active_id(初始化为-1),用于存储当前具备信源切换权限的ID。

参照图6,图6为本发明判断应用是否具备执行信源切换权限的流程示意图。在一实施例中,在初始状态下,权限资源资源池中id_A/id_B…/id_X=-1,某一时刻应用A调用request时,分配模块10会从id_pool中分配一个整形id_A给应用,同时修改id_A的status为EN_CONTROL_CLIENT_REQUEST,之后,应用A调用切信源接口(setinputsource())并发出信源切换请求,第一判断模块30会根据id_A在id_pool中查找此id是否存在,并且其状态status是否为EN_CONTROL_CLIENT_REQUEST或EN_CONTROL_CLIENT_ACTIVE,若存在且status正确,则将id_A的status修改为EN_CONTROL_CLIENT_ACTIVE,并将全局变量Active_id更新为id_A,同时也会将id_pool中其它id及status更新为初始值,而之后Active_id的值可能会由于其他应用的抢占而发生变化,因而在执行切信源的动作之前第二判断模块60需要进一步判断id_A和Active_id是否相同,若相同则执行模块40执行切信源的动作,若不同或是id_pool中不存在id_A亦或是id_A的status错误,则均返回无权限,不进行应用A的信源切换。

参照图7,图7为本发明判断应用是否具备执行信源切换权限的另一流程示意图。在另一实施例中,某一时刻应用A具有系统分配的id_A,此时应用A若调用release,同样地,第一判断模块30会根据id_A在id_pool中查找此id是否存在,并且其状态status是否为EN_CONTROL_CLIENT_REQUEST或EN_CONTROL_CLIENT_ACTIVE,若存在且status正确,则第二判断模块60再判断id_A和Active_id是否相同,若相同就将Active_id更新为初始值(-1),不一致则只将id_A及其status更新为初始值。

本实施例通过设置一个全局变量,能够实时记录当前具有信源切换权限的id值,通过对应用的权限ID进行进一步确认,保证了只有在权限ID当前具备信源切换权限且与全局变量相等时才执行信源切换,进一步增强了信源切换的准确性。

进一步地,基于上述的实施例,本发明智能电视信源切换装置中应用的信源切换请求包括抢占式信源切换请求和非抢占式信源切换请求。

参照图8,图8为本发明应用调用不同切信源接口进行权限申请的流程示意图。对应用来说切信源接口可以分为两种:抢占式切信源接口和非抢占式切信源接口,其中,抢占式切信源接口是指调用返回无权限时,会自动重新申请权限并执行切信源动作,非抢占式切信源接口是指调用返回无权限时,不会自动重新申请权限。

本发明可以预先设置应用在执行OnResume(重新激活)时调用抢占式的切信源接口,在执行OnRelease(释放)时调用非抢占式的切信源接口。

以应用A和应用B进行举例说明。参照图8,图8为本发明应用A和应用B信源切换的应用场景示意图。在某一时刻Active A执行OnResume切信源,之后再执行OnRelease切信源,而在执行OnRelease切信源之前出现了Active B的OnResume切信源的请求,若采用现有技术,则系统在执行Active B的OnResume切信源后会马上将Active B的切信源OnRelease,这将导致最终信源切换错误。通过本发明的权限控制机制,某一时刻Active B执行OnResume调用抢占式的切信源接口,会自动申请权限,切换信源的执行权限就被Active B取得,之后Active A执行OnRelease再调用非抢占式的切信源接口时会因为没有权限而不被执行,这样就可以有效解决因系统生命周期错乱导致的信源切换错误问题,同时也可以兼容正常的信源切换需求。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1