CN109151588A - 一种在智能电视上应用Android小部件的方法 - Google Patents
一种在智能电视上应用Android小部件的方法 Download PDFInfo
- Publication number
- CN109151588A CN109151588A CN201811168735.XA CN201811168735A CN109151588A CN 109151588 A CN109151588 A CN 109151588A CN 201811168735 A CN201811168735 A CN 201811168735A CN 109151588 A CN109151588 A CN 109151588A
- Authority
- CN
- China
- Prior art keywords
- android
- widget
- android widget
- focus
- view
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
Abstract
本发明公开了一种在智能电视上应用Android小部件的方法,包括以下步骤:将需要加载的Android小部件的ComponentName由云端指定传给作为终端的智能电视主页或者由终端直接写入主页,遍历终端上已安装的Android小部件的ComponentName和云端下发的ComponentName进行比较,确认终端是否存在此Android小部件,若存在,再由主页通过标准的Android小部件添加流程,将Android小部件添加到主页;当需要删除已经添加过的Android小部件时,在云端将此Android小部件配置为空,通过Android小部件删除流程将其删除;通过递归遍历Android视图层级查找的方法对Android小部件的焦点进行查找,从而通过智能电视的遥控器对其进行操作。电视厂商可用该方法实现智能电视搭载功能性Android小部件,提供便捷功能和丰富的展示内容,提升用户的交互体验。
Description
技术领域
本发明涉及智能电视技术领域,特别是一种在智能电视上应用Android小部件的方法。
背景技术
Android小部件,即AppWidget,由第三方应用提供,可以在Android原生系统上添加到桌面进行展示。其内部逻辑完全由第三方应用进行管理,原生桌面只提供展示。Android小部件作为一种重要的特殊控件,因为其可在桌面展示,曝光率高,使用方便等原因,而在手机端上大范围使用。而在电视端,主页都是由厂商自己定制的,因此无法使用原生的Android小部件添加功能。
目前手机端Android小部件的加载流程为:用户通过在手机主页上触发添加Android小部件,选择需要添加的Android小部件,通过拖动等方式,将其添加到主页上展示。其对应的原理为用户确定需要的Android小部件,再通过小部件的管理容器(AppWidgetHost)对这个Android小部件分配唯一的识别ID(AppWidgetId),最后通过AppWidgetId实现了对Android小部件的添加,后续用户可直接通过触摸对Android小部件进行操作和管理。
在上述流程中,如需要在智能电视上应用Android小部件有三处待解决的问题,分别是:
1、用户必须通过手动的选择来确定需要的Android小部件,然后才根据用户的选择将Android小部件添加到指定位置。而在电视产品上使用时,希望的是不需要用户添加,自动加载到指定位置。
2、用户可以通过触摸操作来直接对Android小部件进行管理,包括移动/删除等操作。在电视产品上,用户无法通过直接触摸进行管理,需要由应用自动管理。
3、用户在手机端可以通过触摸直接对Android小部件进行操作,但是在电视端使用遥控器,需要Android小部件内外能够焦点互通,才能有完整优秀的使用体验。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种在智能电视上应用Android小部件的方法,该方法首先解决了如何模拟实现用户手动添加Android小部件这一过程,从而来实现自动加载Android小部件;其次要对自动加载的Android小部件进行管理,包括移除和后续加载等;最后解决了在智能电视上因为使用遥控器进行操作会出现的内外焦点不能互通的问题。
为实现上述目的,本发明采用的技术方案是:一种在智能电视上应用Android小部件的方法,包括以下步骤:
步骤一、将需要加载的Android小部件的ComponentName由云端指定传给作为终端的智能电视主页或者由终端直接写入主页,遍历终端上已安装的Android小部件的ComponentName和云端下发的ComponentName进行比较,确认终端是否存在此Android小部件,若存在,再由主页通过标准的Android小部件添加流程,将Android小部件的视图创建出来,最后通过Android的addView方法将Android小部件的视图添加到需要的指定位置;
步骤二、当需要删除已经添加过的Android小部件时,在云端将此Android小部件配置为空,通过Android小部件删除流程将其删除;
步骤三、通过递归遍历Android视图层级查找的方法对Android小部件的焦点进行查找,从而通过智能电视的遥控器对其进行操作。
进一步地,所述步骤一中,智能电视终端在第一次添加Android小部件后,记录下Android小部件的id,在下次启动时,直接使用该AppWidgetId对其进行添加。
更进一步地,在Android小部件被删除时,需重置对应的被记录的Android小部件的AppWidgetId。
再进一步地,所述步骤三具体如下:
焦点从外部想要移动到Android小部件内部,则递归遍历当前的View及其子View,若能够找到可上焦的View,则调用requestFocus算法请求焦点,如果未能找到可上焦的View,则跳出递归遍历,由Android原生进行焦点查找;
焦点从内部想要移动到Android小部件外部,如果未找到当前方向的焦点,则递归遍历当前View及其父View,若能够找到当前方向的焦点,则调用requestFocus算法请求焦点,若递归调用至父布局已经为ContentFrameLayout,则说明在方向已经没有可上焦点的View,结束递归调用。
本发明的有益效果是:智能电视上搭载Android小部件,可以让电视更加丰富地展现内容,可以搭载更多第三方应用提供地内容,例如天气、音乐等信息,由第三方来实时展现内容,为用户提供更加丰富而实用的体验,;基于本发明的实现方案,可以实现在所有Android智能电视上添加Android小部件的功能,并且可以添加任意应用的Android小部件,并且可以有优秀的管理流程,也解决了用户使用遥控器操作会出现的问题,给用户带来良好的体验。
附图说明
图1为本发明实施例Android小部件自动添加流程图;
图2为本发明实施例Android小部件管理流程图;
图3为本发明实施例焦点递归查找原理图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
如图1所示,图1为本实施例Android小部件自动添加流程图,图1清晰明了地展示了由云端下发ComponentName,终端通过该ComponentName进行遍历查找,最后进行添加地过程。
首先,要实现自动添加Android小部件(AppWidget),需要由终端写入或者云端下发指定的Android小部件的ComponentName。之后,终端应用通过AppWidgetManager的getInstalledProviders方法获取终端上已安装的全部Android小部件信息,信息中存有对应的Android小部件的ComponentName,遍历所有的Android小部件,将其ComponentName与云端下发的ComponentName进行对比,若相同,则走Android标准的Android小部件添加流程,将Android小部件的视图创建出来。最后通过Android的addView方法将Android小部件的视图添加到需要的指定位置。由此,则不需要用户手动选择,即可实现云端配置ComponentName,终端自动加载Android小部件。
如图2所示,图2为本实施例Android小部件管理流程图,图2清晰明了地展示了Android小部件添加、移除,以及卸载、再安装等管理流程。
对于所有添加过的Android小部件,要能够进行删除,因为是自动添加,因此不需要此Android小部件时,在后台配置此Android小部件为空时,需要走Android小部件删除流程。同时,因为Android小部件在一次添加之后则无需重复添加,所以在第一次添加了Android小部件之后,需要记录下Android小部件的id,在下次启动时,直接使用该AppWidgetId而不是重新添加。在该应用被卸载时,需要重置对应的被记录的Android小部件的AppWidgetId,否则,下次继续添加上次的AppWidgetId,会报错。
Android小部件的管理流程,实现的重点是AppWidgetId,每当我们添加一个Android小部件之后,在没有卸载该应用或者移除该Android小部件时,该AppWidgetId会一直存在且一直对应着之前添加的Android小部件,因此,再次开机不需要重复添加Android小部件,否则会因为添加过多Android小部件而导致资源占用异常升高。解决此问题的办法是记录下添加时的Android小部件的AppWidgetId,再每次开机时读取,直接使用该AppWidgetId进行添加,同时,需要在Android小部件移除或者应用卸载时,将记录的AppWidgetId重新置位。由此,则解决了对添加的Android小部件的管理问题。
如图3所示,图3为本实施例焦点递归查找原理图,图3清晰明了地展示了Android小部件在布局中的层级关系。
Android小部件内外焦点无法跨越的问题,是由于Android原生的焦点查找逻辑不能支持。在本实施例中,针对此问题进行分析,通过递归遍历Android视图层级查找的方法对Android小部件的焦点进行查找。
焦点从外部想要移动到Android小部件内部,则递归遍历当前的View及其子View,若能够找到可上焦的View,则调用requestFocus算法请求焦点,如果未能找到可上焦的View,则跳出递归遍历,由Android原生进行焦点查找。
焦点从内部想要移动到Android小部件外部,如果未找到当前方向的焦点,则递归遍历当前View及其父View,若能够找到当前方向的焦点,则调用requestFocus算法请求焦点,若递归调用至父布局已经为ContentFrameLayout,则说明在方向已经没有可上焦点的View,结束递归调用。由此,已经解决了Android小部件添加到电视平台上焦点移动异常的问题了,可以使用遥控器进行正常使用了。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (4)
1.一种在智能电视上应用Android小部件的方法,其特征在于,包括以下步骤:
步骤一、将需要加载的Android小部件的ComponentName由云端指定传给作为终端的智能电视主页或者由终端直接写入主页,遍历终端上已安装的Android小部件的ComponentName和云端下发的ComponentName进行比较,确认终端是否存在此Android小部件,若存在,再由主页通过标准的Android小部件添加流程,将Android小部件的视图创建出来,最后通过Android的addView方法将Android小部件的视图添加到需要的指定位置;
步骤二、当需要删除已经添加过的Android小部件时,在云端将此Android小部件配置为空,通过Android小部件删除流程将其删除;
步骤三、通过递归遍历Android视图层级查找的方法对Android小部件的焦点进行查找,从而通过智能电视的遥控器对其进行操作。
2.根据权利要求1所述的在智能电视上应用Android小部件的方法,其特征在于,所述步骤一中,智能电视终端在第一次添加Android小部件后,记录下Android小部件的id,在下次启动时,直接使用该AppWidgetId对其进行添加。
3.根据权利要求2所述的在智能电视上应用Android小部件的方法,其特征在于,在Android小部件被删除时,需重置对应的被记录的Android小部件的AppWidgetId。
4.根据权利要求1所述的在智能电视上应用Android小部件的方法,其特征在于,所述步骤三具体如下:
焦点从外部想要移动到Android小部件内部,则递归遍历当前的View及其子View,若能够找到可上焦的View,则调用requestFocus算法请求焦点,如果未能找到可上焦的View,则跳出递归遍历,由Android原生进行焦点查找;
焦点从内部想要移动到Android小部件外部,如果未找到当前方向的焦点,则递归遍历当前View及其父View,若能够找到当前方向的焦点,则调用requestFocus算法请求焦点,若递归调用至父布局已经为ContentFrameLayout,则说明在方向已经没有可上焦点的View,结束递归调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811168735.XA CN109151588B (zh) | 2018-10-08 | 2018-10-08 | 一种在智能电视上应用Android小部件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811168735.XA CN109151588B (zh) | 2018-10-08 | 2018-10-08 | 一种在智能电视上应用Android小部件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109151588A true CN109151588A (zh) | 2019-01-04 |
CN109151588B CN109151588B (zh) | 2020-10-23 |
Family
ID=64810808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811168735.XA Active CN109151588B (zh) | 2018-10-08 | 2018-10-08 | 一种在智能电视上应用Android小部件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109151588B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172746A1 (en) * | 2007-12-28 | 2009-07-02 | Verizon Data Services Inc. | Method and apparatus for providing expanded displayable applications |
CN101790076A (zh) * | 2010-03-12 | 2010-07-28 | 青岛海信电器股份有限公司 | 功能扩展的方法和装置 |
CN102724595A (zh) * | 2011-03-30 | 2012-10-10 | 青岛海尔软件有限公司 | 基于机顶盒的widget管理平台 |
CN103092613A (zh) * | 2012-12-31 | 2013-05-08 | 中山大学 | 一种基于智能电视的widget中间件系统 |
CN103116503A (zh) * | 2011-11-17 | 2013-05-22 | 华为软件技术有限公司 | 一种多窗口的实现方法及装置 |
CN103517115A (zh) * | 2012-12-06 | 2014-01-15 | Tcl集团股份有限公司 | 对widget视图添加焦点框的方法、系统及智能电视 |
CN103747309A (zh) * | 2013-12-06 | 2014-04-23 | 青岛海信电器股份有限公司 | 控制第三方服务器提供的Widget应用的方法和装置 |
CN105593802A (zh) * | 2013-09-30 | 2016-05-18 | 三星电子株式会社 | 用于在微件中显示预览的方法 |
CN105589682A (zh) * | 2014-10-22 | 2016-05-18 | Tcl集团股份有限公司 | 一种基于Firefox OS的微件信息显示方法及装置 |
CN105812884A (zh) * | 2016-03-02 | 2016-07-27 | 深圳市茁壮网络股份有限公司 | 一种页面切换方法、装置和机顶盒 |
-
2018
- 2018-10-08 CN CN201811168735.XA patent/CN109151588B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172746A1 (en) * | 2007-12-28 | 2009-07-02 | Verizon Data Services Inc. | Method and apparatus for providing expanded displayable applications |
CN101790076A (zh) * | 2010-03-12 | 2010-07-28 | 青岛海信电器股份有限公司 | 功能扩展的方法和装置 |
CN102724595A (zh) * | 2011-03-30 | 2012-10-10 | 青岛海尔软件有限公司 | 基于机顶盒的widget管理平台 |
CN103116503A (zh) * | 2011-11-17 | 2013-05-22 | 华为软件技术有限公司 | 一种多窗口的实现方法及装置 |
CN103517115A (zh) * | 2012-12-06 | 2014-01-15 | Tcl集团股份有限公司 | 对widget视图添加焦点框的方法、系统及智能电视 |
CN103092613A (zh) * | 2012-12-31 | 2013-05-08 | 中山大学 | 一种基于智能电视的widget中间件系统 |
CN105593802A (zh) * | 2013-09-30 | 2016-05-18 | 三星电子株式会社 | 用于在微件中显示预览的方法 |
CN103747309A (zh) * | 2013-12-06 | 2014-04-23 | 青岛海信电器股份有限公司 | 控制第三方服务器提供的Widget应用的方法和装置 |
CN105589682A (zh) * | 2014-10-22 | 2016-05-18 | Tcl集团股份有限公司 | 一种基于Firefox OS的微件信息显示方法及装置 |
CN105812884A (zh) * | 2016-03-02 | 2016-07-27 | 深圳市茁壮网络股份有限公司 | 一种页面切换方法、装置和机顶盒 |
Also Published As
Publication number | Publication date |
---|---|
CN109151588B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230251759A1 (en) | Electronic device and method for displaying history of executed application thereof | |
CN104424359B (zh) | 用于根据字段属性来提供内容的电子设备和方法 | |
CN110417988B (zh) | 一种界面显示方法、装置及设备 | |
CN108279839A (zh) | 基于语音的交互方法、装置、电子设备及操作系统 | |
CN105187930A (zh) | 基于视频直播的互动方法及装置 | |
CN108242837A (zh) | 电子设备和控制电子设备的充电的方法 | |
CN106662969A (zh) | 处理内容的方法及其电子设备 | |
CN106484479B (zh) | 一种多开应用的管理方法、装置及智能终端 | |
CN110795175A (zh) | 模拟控制智能终端的方法、装置及智能终端 | |
CN105320402B (zh) | 管理数据的方法和用于处理该方法的电子设备 | |
CN108874466A (zh) | 控件调用方法、电子装置及计算机可读存储介质 | |
CN106168876A (zh) | 用于提供用户界面的方法和电子设备 | |
CN103064782A (zh) | 一种获取控件的方法及装置 | |
CN105446611A (zh) | 用于对触摸输入进行处理的装置及其方法 | |
CN109416615A (zh) | 处理触摸事件的方法和适用于该方法的电子装置 | |
CN106462191A (zh) | 电子设备和内容显示方法 | |
CN105357385B (zh) | 多app情景模式管理方法及终端 | |
CN106210285A (zh) | 一种录音安全控制方法、装置和设备 | |
CN111479079A (zh) | Ui列表操作方法、装置、智慧屏和可读存储介质 | |
WO2019019158A1 (zh) | 一种应用的操作方法和装置 | |
CN106371896B (zh) | 虚拟机内存配置方法及装置、移动终端 | |
CN109151588A (zh) | 一种在智能电视上应用Android小部件的方法 | |
KR20150141073A (ko) | 데이터 처리 방법 및 전자 장치 | |
CN106648962A (zh) | 一种多开应用的管理方法、装置及智能终端 | |
CN108369474A (zh) | 电子设备和电子设备的显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |