一种解决亚马逊smartscreensdk限制的横竖屏兼容方法与流程
未命名
07-15
阅读:76
评论:0
1.本发明涉及终端显示视图领域,具体为一种解决亚马逊smartscreensdk限制的横竖屏兼容方法。
背景技术:
2.alexasmartscreensdk是对亚马逊的alexa语音sdk(avsdevicesdk)的补充,使得设备制造商能够构建基于显示屏的alexa语音产品,能够以更丰富的视觉体验来补充alexa语音响应,alexasmartscreensdk基于web浏览器来显示云端要终端呈现的内容。
3.alexasmartscreensdk需要开发者在设备端sdk配置文件写入设备屏幕分辨率相关的配置,并只支持固定的终端显示设置,不能动态支持设备横屏、竖屏显示的切换,为此我们提出了一种解决亚马逊smartscreensdk限制的横竖屏兼容方法。
技术实现要素:
4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,解决了上述的问题。
6.(二)技术方案
7.为实现上述所述目的,本发明提供如下技术方案:一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,包括以下步骤:
8.s1:把alexasmartscreen显示以窗体显示的形式进行设计,呈现在设备终端;
9.s2:在设备终端中设置重力传感器,设备通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示;
10.s3:当横屏、竖屏切换时,根据当前屏幕显示把alexasmartscreen窗体设置在合适的位置进行显示,当横屏和竖屏显示的时候,可以采用相同分辨率来显示云端想要呈现的内容。
11.优选的,所述步骤s1中把alexasmartscreen显示以窗体显示的形式设计,包括以下步骤:
12.s11:设备端启动时会创建两个浏览器页面,一个是主页面,以全屏形式显示,用于呈现设备主要功能;
13.另一个是alexa页面,以窗体形式显示,用于呈现alexa语音响应对应的视觉内容;
14.s12:当alexa处于idle状态时,alexa页面处于隐藏的状态,只显示主页面内容;
15.当设备需要显示alexa语音响应对应的视觉内容时,显示alexa页面,并把alexa窗体置于顶层;
16.s13:在alexa窗体右上角设置了一个隐藏按钮,用户不希望显示alexa窗体时,则可以通过点击隐藏按钮来隐藏alexa窗体,alexa窗体隐藏后,用户可以通过语音唤醒alexa或主页面下拉菜单中的alexa按钮来再次显示alexa窗体。
17.优选的,所述步骤s2中通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示,包括以下步骤:
18.s21:依据页面的属性设置页面的横竖屏参数,所述横竖屏参数为横屏、竖屏或横屏竖屏兼容;
19.s22:若页面的横竖屏参数为横竖屏兼容,则设置页面的旋转参数为可旋转,若页面的横竖屏参数为横屏或竖屏,则设置页面的旋转参数为不可旋转;
20.s23:获取待显示的页面,判断待显示的页面的旋转参数是否为可旋转;
21.若是,则依据屏幕方向显示待显示的页面;
22.若否,则依据待显示的页面的横竖屏参数显示待显示的页面。
23.优选的,所述步骤23中依据待显示的页面的横竖屏参数显示待显示的页面,具体包括以下步骤:
24.s231:判断待显示的页面是否为最顶层页面,若是进入s232,若否则进入到233;
25.s232:判断待显示的页面的横竖屏参数是否为横屏;
26.若是,则横屏显示待显示的页面,若否,则竖屏显示待显示的页面;
27.s233:判断待显示的页面的横竖屏参数与上一层页面的显示状态是否一致;
28.若一致,则按照所述上一层的显示状态显示所述待显示的页面;
29.若不一致,则将所述待显示的页面的旋转参数设置为可旋转,将待显示的页面旋转成与其横竖屏参数一致后显示,旋转后将下一层页面的旋转参数置为不可旋转。
30.优选的,所述步骤s3中横屏、竖屏切换时包括一下步骤:
31.s31:依据页面的属性获取系统界面的显示视图信息,所述显示视图信息为横竖屏视图信息;
32.s32:根据显示视图信息的值判断系统界面的显示视图状态,生成显示参数来表示显示视图状态,所述显示视图状态包括第一显示视图状态和第二显示视图状态,所述第一显示视图状态为竖屏视图状态,所述第二显示视图状态为横屏视图状态;
33.s33:初始化时设置屏幕位置,通过let tabid=sraf.tabs.gettabid(),获取页面的tab id,然后设置屏幕方向旋转事件监听器,根据alexa smart screen sdk收到的信息来决定smart screen页面的显示状态;
34.从参数列表中获取所述显示参数,加载布局文件时,若所述显示参数的值表示第一显示视图状态,加载第一布局文件,若所述显示参数的值表示第二显示视图状态,加载第二布局文件,所述第一布局文件和第二布局文件中相同元素的id信息一致,其中,所述第一布局文件为竖屏布局文件,所述第二布局文件为横屏布局文件,所述竖屏布局文件和横屏布局文件可以共享内部的业务功能。
35.优选的,所述步骤s31中获取系统界面的显示视图信息,还包括:调用系统中的方法获取sraf.tabs.gettabid()对象,通过let origorient=screen.orientation,获取当前显示视图状态。
36.优选的,所述步骤s32中根据所述显示视图信息的值判断所述系统界面的显示视图状态,还包括:若所述横竖屏视图信息的值等于系统提供的竖屏视图状态的常量信息的值,系统界面为竖屏视图状态;
37.若所述横竖屏视图信息的值等于系统提供的横屏视图状态的常量信息的值,系统
界面为横屏视图状态。
38.优选的,所述步骤s33中根据alexa smart screen sdk收到的信息来决定smart screen页面的显示状态使用apl;
39.smart screen页面可以接收来自不同skill的apl文档,不同apl文档可以对应不同的窗体id,创建map保存窗体id和窗体是否有内容显示的状态,在smart screen sdk页面收到需要显示窗体内容的消息时将smart screen页面置于顶层并设置为可见状态,当smart scren sdk页面收到清除窗体消息时,判断smart screen页面是否还有窗体需要显示,如果没有窗体需要显示,则设置窗体隐藏。
40.(三)有益效果
41.与现有技术相比,本发明提供了一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,具备以下有益效果:
42.1、该解决亚马逊smartscreensdk限制的横竖屏兼容方法,把alexa smart screen显示以窗体显示的形式呈现,设备通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示,当横屏、竖屏切换时,根据当前屏幕显示把alexa smart screen窗体设置在合适的位置进行显示,这样当横屏和竖屏显示的时候,可以采用相同分辨率来显示云端想要呈现的内容,能够有效解决现有的系统级横竖屏切换所带来页面混乱、显示不完整、显示错误等问题。
附图说明
43.图1为本发明解决亚马逊smartscreensdk限制的横竖屏兼容方法流程图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.请参阅图1,一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,包括以下步骤:
46.s1:把alexasmartscreen显示以窗体显示的形式进行设计,呈现在设备终端;
47.s2:在设备终端中设置重力传感器,设备通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示;
48.s3:当横屏、竖屏切换时,根据当前屏幕显示把alexasmartscreen窗体设置在合适的位置进行显示,当横屏和竖屏显示的时候,可以采用相同分辨率来显示云端想要呈现的内容。
49.步骤s1中把alexasmartscreen显示以窗体显示的形式设计,包括以下步骤:
50.s11:设备端启动时会创建两个浏览器页面,一个是主页面,以全屏形式显示,用于呈现设备主要功能(比如相框设备,主页面主要进行相册内容的展示);
51.另一个是alexa页面,以窗体形式显示,用于呈现alexa语音响应对应的视觉内容;
52.s12:当alexa处于idle状态时,alexa页面处于隐藏的状态,只显示主页面内容;
53.当设备需要显示alexa语音响应对应的视觉内容时,显示alexa页面,并把alexa窗体置于顶层;
54.s13:在alexa窗体右上角设置了一个隐藏按钮,用户不希望显示alexa窗体时(比如alexa播放音乐时,alexa窗体会一直显示当前播放音乐的相关信息,但是如果用户希望此时屏幕不显示该信息),则可以通过点击隐藏按钮来隐藏alexa窗体,alexa窗体隐藏后,用户可以通过语音唤醒alexa或主页面下拉菜单中的alexa按钮来再次显示alexa窗体。
55.步骤s2中通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示,包括以下步骤:
56.s21:依据页面的属性设置页面的横竖屏参数,横竖屏参数为横屏、竖屏或横屏竖屏兼容;
57.s22:若页面的横竖屏参数为横竖屏兼容,则设置页面的旋转参数为可旋转,若页面的横竖屏参数为横屏或竖屏,则设置页面的旋转参数为不可旋转;
58.s23:获取待显示的页面,判断待显示的页面的旋转参数是否为可旋转;
59.若是,则依据屏幕方向显示待显示的页面;
60.若否,则依据待显示的页面的横竖屏参数显示待显示的页面。
61.步骤23中依据待显示的页面的横竖屏参数显示待显示的页面,具体包括以下步骤:
62.s231:判断待显示的页面是否为最顶层页面,若是进入s232,若否则进入到233;
63.s232:判断待显示的页面的横竖屏参数是否为横屏;
64.若是,则横屏显示待显示的页面,若否,则竖屏显示待显示的页面;
65.s233:判断待显示的页面的横竖屏参数与上一层页面的显示状态是否一致;
66.若一致,则按照上一层的显示状态显示待显示的页面;
67.若不一致,则将待显示的页面的旋转参数设置为可旋转,将待显示的页面旋转成与其横竖屏参数一致后显示,旋转后将下一层页面的旋转参数置为不可旋转。
68.步骤s3中横屏、竖屏切换时包括一下步骤:
69.s31:依据页面的属性获取系统界面的显示视图信息,显示视图信息为横竖屏视图信息;
70.s32:根据显示视图信息的值判断系统界面的显示视图状态,生成显示参数来表示显示视图状态,显示视图状态包括第一显示视图状态和第二显示视图状态,第一显示视图状态为竖屏视图状态,第二显示视图状态为横屏视图状态;
71.s33:初始化时设置屏幕位置,通过let tabid=sraf.tabs.gettabid(),获取页面的tab id,然后设置屏幕方向旋转事件监听器,根据alexa smart screen sdk收到的信息来决定smart screen页面的显示状态;
72.实施时:
73.初始化时设置屏幕位置:
[0074][0075][0076]
设置屏幕方向旋转事件监听器:
[0077][0078][0079]
从参数列表中获取所述显示参数,加载布局文件时,若所述显示参数的值表示第一显示视图状态,加载第一布局文件,若所述显示参数的值表示第二显示视图状态,加载第二布局文件,所述第一布局文件和第二布局文件中相同元素的id信息一致,其中,所述第一布局文件为竖屏布局文件,所述第二布局文件为横屏布局文件,所述竖屏布局文件和横屏布局文件可以共享内部的业务功能。
[0080]
步骤s31中获取系统界面的显示视图信息,还包括:调用系统中的方法获取sraf.tabs.gettabid()对象,通过let origorient=screen.orientation,获取当前显示视图状态。
[0081]
步骤s32中根据所述显示视图信息的值判断所述系统界面的显示视图状态,还包括:若所述横竖屏视图信息的值等于系统提供的竖屏视图状态的常量信息的值,系统界面为竖屏视图状态;
[0082]
若横竖屏视图信息的值等于系统提供的横屏视图状态的常量信息的值,系统界面为横屏视图状态。
[0083]
步骤s33中根据alexa smart screen sdk收到的信息来决定smart screen页面的显示状态使用apl;
[0084]
smart screen页面可以接收来自不同skill的apl文档,不同apl文档可以对应不同的窗体id,创建map保存窗体id和窗体是否有内容显示的状态,在smart screen sdk页面收到需要显示窗体内容的消息时将smart screen页面置于顶层并设置为可见状态,当smart scren sdk页面收到清除窗体消息时,判断smart screen页面是否还有窗体需要显示,如果没有窗体需要显示,则设置窗体隐藏。
[0085]
实施时:
[0086]
let zzapldocmap=new map();(创建map保存窗体id和窗体是否有内容显示的状态)
[0087]
在smart screen sdk页面收到需要显示窗体内容的消息时将smart screen页面置于顶层并设置为可见状态:
[0088][0089]
当smart scren sdk页面收到清除窗体消息时,判断smart screen页面是否还有窗体需要显示,如果没有窗体需要显示,则设置窗体隐藏:
[0090]
[0091]
[0092]
[0093][0094]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,包括以下步骤:s1:把alexasmartscreen显示以窗体显示的形式进行设计,呈现在设备终端;s2:在设备终端中设置重力传感器,设备通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示;s3:当横屏、竖屏切换时,根据当前屏幕显示把alexasmartscreen窗体设置在合适的位置进行显示,当横屏和竖屏显示的时候,可以采用相同分辨率来显示云端想要呈现的内容。2.根据权利要求1所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,所述步骤s1中把alexasmartscreen显示以窗体显示的形式设计,包括以下步骤:s11:设备端启动时会创建两个浏览器页面,一个是主页面,以全屏形式显示,用于呈现设备主要功能;另一个是alexa页面,以窗体形式显示,用于呈现alexa语音响应对应的视觉内容;s12:当alexa处于idle状态时,alexa页面处于隐藏的状态,只显示主页面内容;当设备需要显示alexa语音响应对应的视觉内容时,显示alexa页面,并把alexa窗体置于顶层;s13:在alexa窗体右上角设置了一个隐藏按钮,用户不希望显示alexa窗体时,则可以通过点击隐藏按钮来隐藏alexa窗体,alexa窗体隐藏后,用户可以通过语音唤醒alexa或主页面下拉菜单中的alexa按钮来再次显示alexa窗体。3.根据权利要求1所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,所述步骤s2中通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示,包括以下步骤:s21:依据页面的属性设置页面的横竖屏参数,所述横竖屏参数为横屏、竖屏或横屏竖屏兼容;s22:若页面的横竖屏参数为横竖屏兼容,则设置页面的旋转参数为可旋转,若页面的横竖屏参数为横屏或竖屏,则设置页面的旋转参数为不可旋转;s23:获取待显示的页面,判断待显示的页面的旋转参数是否为可旋转;若是,则依据屏幕方向显示待显示的页面;若否,则依据待显示的页面的横竖屏参数显示待显示的页面。4.根据权利要求3所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,所述步骤23中依据待显示的页面的横竖屏参数显示待显示的页面,具体包括以下步骤:s231:判断待显示的页面是否为最顶层页面,若是进入s232,若否则进入到233;s232:判断待显示的页面的横竖屏参数是否为横屏;若是,则横屏显示待显示的页面,若否,则竖屏显示待显示的页面;s233:判断待显示的页面的横竖屏参数与上一层页面的显示状态是否一致;若一致,则按照所述上一层的显示状态显示所述待显示的页面;若不一致,则将所述待显示的页面的旋转参数设置为可旋转,将待显示的页面旋转成与其横竖屏参数一致后显示,旋转后将下一层页面的旋转参数置为不可旋转。5.根据权利要求3所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其
特征在于,所述步骤s3中横屏、竖屏切换时包括一下步骤:s31:依据页面的属性获取系统界面的显示视图信息,所述显示视图信息为横竖屏视图信息;s32:根据显示视图信息的值判断系统界面的显示视图状态,生成显示参数来表示显示视图状态,所述显示视图状态包括第一显示视图状态和第二显示视图状态,所述第一显示视图状态为竖屏视图状态,所述第二显示视图状态为横屏视图状态;s33:初始化时设置屏幕位置,通过let tabid=sraf.tabs.gettabid(),获取页面的tab id,然后设置屏幕方向旋转事件监听器,根据alexa smart screen sdk收到的信息来决定smart screen页面的显示状态;从参数列表中获取所述显示参数,加载布局文件时,若所述显示参数的值表示第一显示视图状态,加载第一布局文件,若所述显示参数的值表示第二显示视图状态,加载第二布局文件,所述第一布局文件和第二布局文件中相同元素的id信息一致,其中,所述第一布局文件为竖屏布局文件,所述第二布局文件为横屏布局文件,所述竖屏布局文件和横屏布局文件可以共享内部的业务功能。6.根据权利要求5所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,所述步骤s31中获取系统界面的显示视图信息,还包括:调用系统中的方法获取sraf.tabs.gettabid()对象,通过let origorient=screen.orientation,获取当前显示视图状态。7.根据权利要求5所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,所述步骤s32中根据所述显示视图信息的值判断所述系统界面的显示视图状态,还包括:若所述横竖屏视图信息的值等于系统提供的竖屏视图状态的常量信息的值,系统界面为竖屏视图状态;若所述横竖屏视图信息的值等于系统提供的横屏视图状态的常量信息的值,系统界面为横屏视图状态。8.根据权利要求5所述的一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,其特征在于,所述步骤s3中根据alexa smart screen sdk收到的信息来决定smart screen页面的显示状态使用apl;smart screen页面可以接收来自不同skill的apl文档,不同apl文档可以对应不同的窗体id,创建map保存窗体id和窗体是否有内容显示的状态,在smart screen sdk页面收到需要显示窗体内容的消息时将smart screen页面置于顶层并设置为可见状态,当smart scren sdk页面收到清除窗体消息时,判断smart screen页面是否还有窗体需要显示,如果没有窗体需要显示,则设置窗体隐藏。
技术总结
本发明涉及终端显示视图领域,且公开了一种解决亚马逊smartscreensdk限制的横竖屏兼容方法,包括以下步骤:S1:把AlexaSmartScreen显示以窗体显示的形式进行设计,呈现在设备终端;S2:在设备终端中设置重力传感器,设备通过重力传感器来检测当前设备是以横屏还是竖屏的方式来进行显示;S3:当横屏、竖屏切换时,根据当前屏幕显示把AlexaSmartScreen窗体设置在合适的位置进行显示,当横屏和竖屏显示的时候,可以采用相同分辨率来显示云端想要呈现的内容。内容。内容。
技术研发人员:赵恺
受保护的技术使用者:北京酷吉乐科技有限公司
技术研发日:2023.03.16
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
