实现智能电视网络切换同步UI操作的方法与流程

文档序号:11157736阅读:671来源:国知局
实现智能电视网络切换同步UI操作的方法与制造工艺

本发明涉及智能电视网络设置技术,具体涉及一种实现智能电视网络切换同步UI操作的方法。



背景技术:

现代智能电视连接互联网功能已经是一个重要的功能组成部分。当智能电视上有线网络和无线网络两种上网方式都提供时,需要用户在网络设置的时候选择切换有线或无线方式的网络进行连网。切换的过程实际上是底层使能有线网卡、关闭无线网卡,或者使能无线网卡、关闭有线网卡的过程。使能或者关闭wifi无线网卡需要一定的响应时间,如果网卡的一次操作响应还没有完成,立即又去操作使能或者关闭,就有可能导致系统卡住死机。

现有技术中常规的做法是在切换的时候阻塞等待响应,即一次操作正在切换过程中用户不能再次操作切换,不能连续响应用户的UI操作。



技术实现要素:

本发明所要解决的技术问题是:提供了一种实现智能电视网络切换同步UI操作的方法,解决传统技术中切换网络时采用阻塞等待响应的方式存在的问题。

本发明解决其技术问题所采用的技术方案是:

实现智能电视网络切换同步UI操作的方法,包括以下步骤:

A、构建状态机,并通过状态机接收并保存用户进行网络切换时的输入;

B、系统改变UI界面,显示用户正在选择的网络类型;

C、系统判断当前底层网卡是否对应用户当前选择的网络类型,若不是,则进入网络切换流程:启动状态机的网络状态事件监听器来监听网络状态,当监听到网络状态改变事件后,设置状态机对应的一种状态;

D、系统应用层程序通过定时器轮询状态机的状态,一直查询到状态机改变为完成使能/完成关闭状态为止,则系统调用下层网络接口函数切换网络到当前状态机保存的用户所选择的网络类型;

E、在状态机状态为完成使能/完成关闭状态时,判断当前网络是否和用户最新输入的网络类型相同,如果相同,则改变UI显示为当前使能完成的网络类型并关闭定时器,否则,继续执行通过定时轮询状态机状态来切换网络类型的操作。

作为进一步优化,所述状态机是一个用int型变量“state”来存储四种状态的类,所述四种状态包括:完成使能状态、正在设置使能状态、完成关闭状态、正在设置关闭状态。

作为进一步优化,步骤A中,通过状态机的状态位来保存用户的输入,当用户在有线和无线间选择切换时,状态机内部的状态位随用户输入改变。

作为进一步优化,步骤C中,状态机的网络状态事件监听器依据linux网络协议栈,读取底层网卡驱动的状态,从而监听网络状态。

作为进一步优化,所述网络状态事件监听器是状态机类的一个用于接收网络事件的成员函数,在构建时状态机向操作系统注册,当底层网卡驱动状态改变并向上层发送事件后,该函数会被操作系统自动调用。

本发明的有益效果是:相对于通常的阻塞等待底层网络状态切换方法,本发明保证了底层网卡能够正常使能或关闭,同时用户UI操作能够流畅不阻塞,使智能电视使用者获得更好的用户体验,硬件适应能力强,可实施性强。

附图说明

图1为状态机的状态转换示意图;

图2为实现智能电视网络切换同步UI操作的方法流程图。

具体实施方式

本发明旨在提供一种实现智能电视网络切换同步UI操作的方法,解决传统技术中切换网络时采用阻塞等待响应的方式存在的问题。在本发明中,通过构建带状态机依据linux网络协议栈,读取底层网卡驱动的状态。网卡驱动处于linux网络协议栈的链路层。用户通过UI操作,调用linux网络协议栈应用层的接口,读取链路层的网络驱动状态,然后状态机对用户的操作做出正确的响应以及显示。该方法保证了底层网卡能够正常使能或关闭,同时用户UI操作能够流畅不阻塞,使智能电视使用者获得更好的用户体验。

在具体实现上,本发明中构建的状态机是一个用int型变量“state”来存储四种状态(enabled完成使能、enabling正在设置使能、disabled完成关闭、disabling正在设置关闭)的类,在系统初始化时构建,初始state状态为enabled。状态机四种状态的切换如图1所示,其决定于底层网卡驱动状态。当底层驱动状态改变时,通过一个状态改变的事件发送给上层。状态机通过事件监听器,监听网络状态。当监听到网络状态改变事件后,设置状态机状态为四种状态中相应的一种。事件监听器是状态机类的一个用于接收网络事件的成员函数,在状态机构建时向操作系统注册,当底层状态改变并发送事件后,该函数会被操作系统自动调用。

系统根据状态机的不同状态做出相应响应:1,如果状态机处于正在设置使能/正在设置关闭状态,应用程序启动定时器---定时器是向系统注册的一个timer类,注册这个timer的时候指定计时时间到后执行的函数。定时器循环计时,每次计时时间到后即执行指定的函数。在timer的执行函数中轮询状态机状态,一直轮询到状态机改变为完成使能/完成关闭状态为止,系统调用下层网络接口函数,切换网络到当前状态机保存的用户选择网络类型;2,如果状态机处于完成设置使能/关闭状态,则立即开始切换网络到用户选择的网络类型。网络切换调用linux网络协议栈应用层的接口,作用于链路层中的网络驱动。

如图2所示,本发明中的实现智能电视网络切换同步UI操作的方法,包括以下实现步骤:

(1)通过状态机接收并保存用户进行网络切换时的输入,用户在设置网络类型时,将用户输入的状态保存在一个预先开辟的static静态变量“NetType”中。然后系统改变UI,显示用户正在选择的网络类型(有线/无线)。

(2)系统判断当前底层网卡是否对应用户当前选择的网络类型,若不是,则进入网络切换流程:启动状态机的网络状态事件监听器来监听网络状态,当监听到网络状态改变事件后,设置状态机对应的一种状态;

(3)系统应用层程序通过定时器轮询状态机的状态,一直查询到状态机改变为完成使能/完成关闭状态为止,则系统调用下层网络接口函数切换网络到当前状态机保存的用户所选择的网络类型;

(4)当状态机状态为完成设置使能/关闭状态时,判断当前网络是否和保存的用户输入的网络类型选择相同。如果相同,则改变UI显示为当前使能完成的网络类型(有线/无线),并关闭定时器。否则回到步骤3继续执行通过状态机切换网络类型的操作。

实施例1:

以用户从有线网络切换到WIFI无线网络为例,其包括以下实施步骤:

(1)接收到用户输入选择网络为WIFI,保存NetType为WIFI。

(2)改变UI显示当前网络为WIFI,提示正在使能WIFI。

(3)判断当前状态为wifi_disabled,开始切换网络到wifi。并启动定时器轮询当前网络状态。

(4)当查询到当前网络状态为wifi_enabled,UI显示WIFI使能完毕,关闭定时器。

实施例2:

假如用户从有线网络切换到WIFI无线网络,底层这一次切换还没完成时,用户继续操作切换回有线网络,则其包括以下实施步骤:

(1)接收到用户输入选择网络为WIFI,保存网络状态WIFI。

(2)改变UI显示当前网络为WIFI,提示正在使能WIFI。

(3)判断当前状态为wifi_disabled,开始切换网络到wifi。并启动定时器轮询当前网络状态。

(4)用户输入切换到有线网络,保存网络状态为有线,改变UI显示当前网络为有线,提示正在使能有线网络。

(5)轮询网络状态,如果状态为wifi_enabling,继续启动定时器轮询等待网络状态转换。当状态转换为wifi_enabled时,比较当前网络状态和用户输入保存的状态,比较发现当前网络和用户输入选择的网络不相同。

(6)启动切换到有线网络,并启动定时器轮询当前网络状态。

(7)当查询到当前网络状态为wifi_disabled,UI显示有线网络使能完毕,关闭定时器。

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