一种消息提醒方法及终端设备与流程

文档序号:31994508发布日期:2022-11-02 01:29阅读:132来源:国知局
一种消息提醒方法及终端设备与流程

1.本技术涉及终端技术领域,尤其涉及一种消息提醒方法及终端设备。


背景技术:

2.当前市面上存在各种品牌的模拟器,例如安卓模拟器是一种可以使用户在个人计算机除原生计算机系统外,运行并模拟安卓操作系统的模拟器,并能安装、使用、卸载安卓应用的软件。利用安卓模拟器,用户即使没有手机硬件设备,也能在装有安卓模拟器的电子设备上使用安卓应用程序。例如,安卓模拟器能在电脑上模拟出安卓手机运行环境,让用户在电脑上也能体验安卓游戏和应用。
3.模拟器内可以安装多个应用,假设当用户在模拟器内打开多个应用之后,每一个应用可对应一个窗口,这些窗口可以以最小化的形式显示在任务栏中,也可以以非最小化(正常状态、最大化)的形式显示在显示屏上,但是不管应用对应的窗口为最小化状态还是被其它应用的窗口所覆盖等,这些应用都默认为前台应用。此时当某个应用接收到新消息时,由于应用为前台应用,安卓系统则不会生成通知(提醒)消息。也就是说,模拟器内的应用在接收到新消息时,如果应用对应的窗口为最小化状态或者被其它应用的窗口所覆盖,则用户在个人计算机上无法感知到有新消息,即无法对用户进行提醒。


技术实现要素:

4.本技术提供一种消息提醒方法及终端设备,用以实现在模拟器内的应用接收到消息时进行提醒,提升用户体验。
5.第一方面,本技术提供一种消息提醒方法,该方法包括:第一应用接收第二应用发送的第一消息,所述第一消息包括第二应用的标识,所述第二应用为接收到新消息的应用,且所述第一应用与所述第二应用为所述模拟器所搭载的系统下的应用程序;所述第一应用向模拟器应用发送第二消息,所述第二消息包括所述第二应用的标识,所述第二消息用于指示所述模拟器确定是否对所述第二应用接收到的新消息进行提醒。
6.由于第二应用打开之后为前台应用,通过上述技术方案,可以在模拟器内的第二应用接收到新消息时,模拟器内的第一应用将第二应用的标识发送给模拟器,以使模拟器进一步确定是否对新消息进行提醒,从而实现对模拟器上的前台应用的消息提醒,使得用户能够及时地查看新消息,提升用户体验。
7.在一种可能的设计中,所述第一消息包括至少一条。
8.通过上述技术方案,当多个应用程序接收到新消息时,第一应用可以接收到多条第一消息,进而将多个应用程序的标识发送给模拟器。
9.在一种可能的设计中,所述第一应用接收第二应用发送的第一消息,包括:所述第一应用接收第二应用通过第三应用发送的第一消息。
10.通过上述技术方案,当第二应用接收到新消息时,第二应用可以调用第三应用的接口向第三应用发送第一消息,然后再将第一消息转发给第一应用。
11.在一种可能的设计中,所述第一消息还包括:所述第二应用接收到的新消息的数量、所述第二应用接收到的新消息的内容。
12.通过上述技术方案,当第一消息中还包括新消息的数量和/或内容时,第一应用可以将新消息的数量和/或内容发送给模拟器,使得模拟器后续将新消息的数量和/或内容提醒给用户,从而提升用户体验。
13.在一种可能的设计中,所述模拟器为安卓模拟器。
14.当模拟器为安卓模拟器时,模拟器内的应用即为安卓应用。当然,本技术中对于模拟器的系统不作具体限定。
15.在一种可能的设计中,所述第一应用为桌面应用,所述第二应用为电子邮件应用、华为视频应用。
16.第二方面,本技术还提供一种消息提醒方法,包括:
17.模拟器接收第一应用发送的第一消息,所述第一消息包括第二应用的标识,所述第二应用为接收到新消息的应用,且所述第一应用与所述第二应用为所述模拟器所搭载的系统下的应用程序;所述模拟器根据所述第二应用的标识确定对应的第二窗口标识;所述模拟器根据所述第二窗口标识和鼠标焦点窗口的窗口标识,确定是否对所述第二应用接收到的新消息进行提醒。
18.通过上述技术方案,模拟器可以通过第一消息包括的应用标识知道模拟器内的哪个应用程序接收到了新消息,然后再将该应用标识对应的窗口标识与鼠标焦点窗口的窗口标识进行对比,进而确定是否需要对新消息进行提醒。
19.在一种可能的设计中,所述第一消息为所述第二应用发送给所述第一应用的。
20.在一种可能的设计中,所述第一消息为所述第二应用通过第三应用发送给所述第一应用的。
21.通过上述技术方案,第一消息可以为第二应用直接发给第一应用的,也可以为第二应用发送给第三应用,由第三应用转发给第一应用。
22.在一种可能的设计中,所述模拟器根据所述第二窗口标识和鼠标焦点窗口的窗口标识,确定是否对所述第二应用接收到的新消息进行提醒,包括:
23.所述模拟器若确定所述第二窗口标识与鼠标焦点窗口的窗口标识不同,则确定对所述第二应用接收到的新消息进行提醒;所述模拟器若确定所述第二窗口标识与鼠标焦点窗口的窗口标识相同,则确定不对所述第二应用接收到的新消息进行提醒。
24.通过上述技术方案,如果新消息的窗口标识与鼠标焦点窗口的窗口标识不同,此时需要对新消息进行提醒;如果新消息的窗口标识与鼠标焦点窗口的窗口标识相同,说明用户可以直接看到新消息,此时不需要通过提醒方式对用户进行提醒。
25.在一种可能的设计中,所述第一消息还包括:所述第二应用接收到的新消息的数量、所述第二应用接收到的新消息的内容。
26.在一种可能的设计中,对所述第二应用接收到的新消息进行提醒的提醒方式包括如下方式中的至少一种:应用图标闪烁、应用窗口闪烁、弹窗、通知、应用窗口抖动,所述弹窗或所述通知中包括所述新消息的数量和/或内容。
27.通过上述技术方案,模拟器可以通过应用图标闪烁、应用窗口闪烁、通知等方式对新消息进行提醒,以使用户能够及时的查看并处理新消息,能够提升用户体验。
28.第三方面,本技术还提供一种终端设备,该终端设备包括显示屏;一个或多个处理器;一个或多个存储器;多个应用;以及一个或多个计算机程序;其中所述一个或多个计算机程序被存储在所述一个或多个存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器调用执行时,使得所述终端设备执行上述第一方面、第二方面及其第一方面、第二方面任一可能设计的技术方案。
29.第四方面,本技术还提供一种终端设备,该电子设备包括执行第一方面、第二方面或者第一方面、第二方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
30.第五方面,本技术实施例还提供一种芯片,所述芯片与电子设备中的存储器耦合,执行本技术实施例第一方面、第二方面及其第一方面、第二方面任一可能设计的技术方案;本技术实施例中“耦合”是指两个部件彼此直接或间接地结合。
31.第六方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行本技术实施例第一方面、第二方面及其第一方面、第二方面任一可能设计的技术方案。
32.第七方面,本技术实施例还提供一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得所述计算机程序产品执行本技术实施例第二方面及其第二方面任一可能设计的技术方案。
33.上述第三方面至第七方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面、第二方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
34.图1为本技术实施例提供的一种终端设备的硬件结构示意图;
35.图2为本技术实施例的终端设备100的结构框图;
36.图3为本技术实施例提供的一种用户界面示意图;
37.图4为本技术实施例提供的消息提醒方法流程图;
38.图5为本技术实施例提供的一种用户界面示意图;
39.图6a为本技术实施例提供的一种用户界面示意图;
40.图6b为本技术实施例提供的一种用户界面示意图;
41.图6c为本技术实施例提供的一种用户界面示意图;
42.图6d为本技术实施例提供的一种用户界面示意图;
43.图7为本技术实施例提供的另一种终端设备的结构示意图。
具体实施方式
44.下面将结合本技术以下实施例中的附图,对本技术实施例中的技术方案进行详尽描述。
45.本技术实施例涉及的应用,为能够实现某项或多项特定功能的软件程序。通常,终端设备中可以安装多个应用。比如,相机应用、邮箱应用、视频应用、音乐应用、聊天应用、wechat、welink等。下文中提到的应用,可以是终端设备出厂时已安装的应用,也可以是用
户在使用终端设备的过程中从网络下载或其他终端设备获取的应用。
46.需要说明的是,本技术实施例提供的消息提醒方法,可以适用于具有显示屏的终端设备,诸如个人计算机(personal computer,pc),(比如平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc))、智慧屏等,本技术实施例不作限定。并且,终端设备的示例性实施例包括但不限于搭载鸿蒙或者其它操作系统的终端设备。
47.下面介绍终端设备的结构。
48.如图1所示,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
49.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
50.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
51.终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
52.移动通信模块150可以提供应用在终端设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器
(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
53.无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。示例性的,在本技术实施例中,不同的电子设备之间可通过bt或wlan建立通信连接。
54.在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),第五代(the fifth generation,5g)移动通信系统,未来通信系统,如第六代(6th generation,6g)系统等,bt,gnss,wlan,nfc,fm和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
55.显示屏194用于显示应用的显示界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,终端设备100可以包括1个或n个显示屏194,n为大于1的正整数。在本技术实施例中,显示屏194可用于同时显示多个应用界面。
56.摄像头193用于捕获静态图像或视频。摄像头193可以包括前置摄像头和后置摄像头。
57.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区
可存储操作系统,以及至少一个应用程序(例如爱奇艺应用,微信应用等)的软件代码等。存储数据区可存储终端设备100使用过程中所产生的数据(例如图像、视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
58.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
59.终端设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
60.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和终端设备100的接触和分离。
61.可以理解的是,图1所示的部件并不构成对电子设备的具体限定,电子设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。以下的实施例中,以图1所示的终端设备100为例进行介绍。
62.图2是本技术实施例的终端设备100的结构框图。如图2所示,终端设备100可以是搭载windows系统的电子设备,在该windows系统下可以安装多个应用,比如模拟器应用(模拟器名称.exe)。其中,模拟器应用可以是搭载安卓系统的应用,安卓系统下可以包括多个安卓应用,比如电子邮件应用、华为视频应用、桌面等。
63.本技术实施例中,当安卓系统下的应用程序(比如,电子邮件)接收到新消息时,电子邮件app可调用安卓系统下的桌面app的接口,这样桌面app可知道电子邮件app接收到新消息,此时桌面app可将电子邮件app的应用id(应用标识)告知模拟器应用。相应的,模拟器应用可根据用户鼠标焦点所在窗口与电子邮件app的窗口的关系来判断是否需要对用户进行提醒。如果用户鼠标焦点所在窗口与电子邮件app的窗口不同,模拟器可确定需要对用户进行提醒;如果用户鼠标焦点所在窗口与电子邮件app的窗口相同,模拟器可确定不需要对用户进行提醒。
64.以下实施例以应用在图1所示的终端设备100所示的架构中为例进行描述。
65.此外,下述实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。另外,需要理解的是,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的。
66.首先,对本技术实施例的应用场景进行介绍。终端设备以笔记本电脑为例,在本技术中可以在笔记本电脑上安装模拟器应用(以下简称:模拟器),并且笔记本电脑可以为windows系统。假设笔记本电脑上安装的模拟器为安卓模拟器,那么可以在笔记本电脑上使用安卓应用。示例性的,如图3所示,假设笔记本电脑上显示界面300,该界面300中可包括至少一个应用程序的图标,例如可包括模拟器应用图标301、电子邮件应用图标302、华为视频
应用图标303、应用商城应用图标304、计算器应用图标305等。其中,电子邮件、华为视频以及应用商城可以为安装在模拟器中的应用程序,即模拟器安装完应用后将应用图标放置在windows的桌面上。当然,界面300中还可以包括任务栏306。应理解,在实际产品实现时,模拟器应用图标301可以显示,也可以不显示。
67.当用户点击电子邮件应用图标302之后,笔记本电脑可响应用户的点击操作,进入电子邮件应用的显示界面,例如笔记本电脑上可显示界面310。其中,界面310可包括电子邮件的应用窗口311。接着用户可点击华为视频应用图标303,此时笔记本电脑上可显示界面320。其中,界面320中可包括电子邮件应用窗口311和华为视频应用窗口321。也就是说,笔记本电脑上可以显示多个应用窗口,且每一个应用窗口对应一个应用程序。
68.需要说明的是,应用窗口311、应用窗口321中还可以包括最小化图标、最大化图标、关闭按钮等。其中,最小化图标用于将应用窗口最小化显示在任务栏306,最大化图标用于将应用窗口全屏显示在笔记本电脑的显示界面上,关闭按钮用于将应用窗口关闭。
69.需要说明的是,模拟器内的应用程序被打开之后,不管是直接显示在显示屏上,还是被最小化显示在任务栏中,对于模拟器上搭载的安卓系统而言,均默认为前台应用。其中,模拟器以及模拟器搭载的安卓系统下打开的应用程序对于windows系统而言可以理解为不同的进程,或者可以将模拟器对应的进程理解为一个进程,然后将安卓系统下打开的应用程序理解为一个进程下的子进程。
70.应理解,上述界面仅是一种示意性说明,在实际产品实现时,显示界面上可能会显示更多或更少的图标,本技术对此不作具体限定。
71.在一些实施例中,当模拟器内的应用程序被打开时,模拟器可以为应用程序所在的窗口分配窗口身份标识号(identity,id)(或者也可以称为:窗口编号、窗口标识),通过窗口身份标识号区分在模拟器中运行的安卓应用的窗口。具体来说,当用户点击模拟器所搭载的安卓系统下的安卓应用的应用图标之后,模拟器可向安卓系统发送第一通知消息,以通知安卓系统哪个应用要启动,然后安卓系统接收到通知消息之后,可启动安卓应用,并在启动应用之后向模拟器返回携带用安卓应用的应用id的第二通知消息,以告知模拟器安卓应用已打开。当模拟器接收到第二通知消息时,可根据应用id为该应用分配相应的窗口id。也就是说,按照上述方式,模拟器可以在安卓应用打开时,主动为安卓应用分配安卓应用对应的窗口id,建立安卓应用id与应用窗口id之间的对应关系。
72.当然,用户还可以通过语音触发的方式打开安卓应用等,本技术对此不作限定。
73.示例性的,应用id与窗口id的对应关系可以参阅如下表1所示。应理解,表1仅是一种示意性说明,本技术对于对应关系的保存方式、应用id以及窗口id的表示形式并不做限定。
74.表1
75.应用id窗口id应用11应用22应用33
76.需要说明的是,当应用窗口被关闭,即应用被关闭时,该应用的应用id与窗口id之间的对应关系可自动删除。当该应用程序下次被打开时,可重新为该应用程序分配窗口id。
77.作为一种可能的实现方式,模拟器可以按照模拟器内应用程序的打开顺序对应用程序所在的窗口进行编号。示例性的,假设用户打开应用程序的前后顺序依次为:应用市场app、微信app、阅读app、华为视频app,那么可以将应用市场app所在的窗口记为窗口1,将微信app所在的窗口记为窗口2,将阅读app所在的窗口记为窗口3,将华为视频app所在的窗口记为窗口4。
78.需要说明的是,上述编号仅是一种示意性说明,本技术对此不作限定。例如,还可以将应用市场app所在的窗口记为窗口1-1,将微信app所在的窗口记为窗口1-2,将阅读app所在的窗口记为窗口1-3,将华为视频app所在的窗口记为窗口1-4等。
79.可选的,在一些实施例中,应用程序所在窗口的编号并不是固定不变的,当打开的应用程序被关闭之后,再次打开时模拟器可以对应用程序所在的窗口重新编号。示例性的,假设应用市场app所在的窗口记为窗口1,将微信app所在的窗口记为窗口2,将阅读app所在的窗口记为窗口3,将华为视频app所在的窗口记为窗口4,此时若用户关闭上述应用程序中的一个应用程序,比如关闭微信app,然后在一段时间(比如,30s或者5min)之后再次打开微信app时,可以将微信app所在的窗口记为窗口5。
80.以下基于上述应用场景,对本技术实施例的消息提醒方法进行详细介绍。
81.如图4所示,为本技术实施例提供的消息提醒方法流程图,参阅图4所示,该方法可包括如下步骤:
82.s401:模拟器内的第一应用接收到第一消息。
83.模拟器内的第一应用接收到第一消息,即模拟器内的应用收到新消息,该新消息可以是来自网络的推送消息,也可以来自其他设备的消息。应理解,这里的第一消息可以为一个消息,也可以为多个消息,本技术对此不作限定。第一应用为模拟器内安装的安卓应用,例如华为视频、电子邮件等。
84.s402:模拟器内的第一应用调用第二应用的接口,向第二应用发送第二消息。
85.其中,第二消息中可包括第一应用标识、第一消息的数量、第一消息的内容。
86.为了描述方便,可将模拟器内接收到新消息的安卓应用记为“第一应用”,将模拟器内的安卓桌面应用程序记为“第二应用”,并将接收到的新消息记为“第一消息”。
87.需要说明的是,当应用接收到新消息时,接收到新消息的安卓应用通常会调用桌面app的角标接口告知桌面app有新消息,然后桌面app根据应用的状态来判断是否需要更新角标数字。当应用为前台应用时,桌面app不更新角标数字,当应用为后台应用时,桌面app更新角标数字。也就是说,在应用接收到新消息时,不管应用为前台应用还是后台应用,都会调用桌面app上的角标接口。示例性的,如图5所示,以图3所示的应用界面为例,当用户点击界面310上的模拟器应用图标301之后,假设笔记本电脑显示界面500。其中,界面500可包括模拟器搭载的安卓系统的桌面窗口501、电子邮件的应用窗口502。该桌面上可包括安卓应用的应用图标,比如电子邮件应用图标503、华为视频应用图标504等。电子邮件应用图标503上可显示有角标数字2,该角标数字2可用于表示电子邮件app中有两封邮件未读。此时假设模拟器搭载的安卓系统下的电子邮件app接收到新消息,电子邮件app可调用桌面app上的角标接口,此时桌面app根据电子邮件的状态判断是否要更新电子邮件app的角标数字。由于此时电子邮件app属于前台应用,因此,不需要更新电子邮件的应用图标上的角标数字。
88.值得注意的是,在一些特殊场景,比如视频聊天/语音聊天场景下,应用可调用桌面app上的通知接口来显示通知。在本技术实施例中,当模拟器内的应用程序接收到新消息时,不管是调用角标接口还是通知接口,都可以在接口中注册监听,从而在监听到有新消息时告知模拟器,进而实现将消息提醒给用户。示例性的,假设笔记本电脑当前显示屏上的显示的是华为视频app的应用界面,即华为视频app为前台应用,此时当微信app接收到视频聊天的通知消息时,微信app可调用模拟器搭载的安卓系统下的桌面app的通知接口,将微信app自动切换为前台app。
89.s403:模拟器内的第二应用将第一应用标识发送给模拟器。
90.在本技术实施例中,当第一应用接收到第一消息时,第一应用可以将自身的应用名称(或者称为:应用标识、应用id)发送给桌面app,然后桌面app再将应用名称发送给模拟器,以使模拟器能够根据应用名称确定与应用名称对应的应用窗口id。作为一种可能的实现方式,桌面app与模拟器之间可以通过预先协商的传输通道来传输信息。比如桌面app可以通过pipe通道将应用的标识发送给模拟器。
91.可选的,当第一应用接收到第一消息时,第一应用还可以将自身的应用名称发送给第三应用,然后由第三应用再将第一应用的应用名称发送给模拟器。应理解,第三应用可以为预先设置的专门用于与模拟器交互信息的应用程序。
92.s404:模拟器根据第一应用标识确定该第一消息所在的窗口标识。
93.基于图3所示实施例中对应用id与应用窗口id的对应关系的介绍可知,安卓应用在打开之后,模拟器应用可以知道安卓应用的应用id,这样模拟器可以根据应用id为应用分配窗口id。
94.当模拟器接收到第一应用发送的应用标识之后,可根据第一应用的应用标识确定与第一应用的应用标识相对应的窗口标识。举例来说,假设电子邮件app接收到新消息,那么电子邮件app可向模拟器的桌面app发送消息,该消息中可携带自身的应用标识。相应的,桌面app可将该消息发送给模拟器。模拟器再根据该消息中携带的应用标识(电子邮件)确定与电子邮件对应的窗口id,例如窗口id为1-1。
95.s405:模拟器判断该第一消息所在的窗口标识是否为用户鼠标焦点所在的窗口对应的窗口标识。若否,则继续执行s406,若是,则继续执行s407。
96.应理解,鼠标焦点指的是当窗口1被鼠标点击之后,该窗口1就拥有了焦点;当用户将鼠标移动到其它位置,只要不点击其它的窗口,鼠标焦点就一直为窗口1所在的窗口,此时若用户点击了另外一个窗口,例如窗口2之后,此时窗口1失去了鼠标焦点,窗口2拥有了鼠标焦点。换言之,鼠标焦点所在的窗口可以理解为用户鼠标最后一次作用的窗口。
97.在一些实施例中,在s404执行之前,模拟器可先获取用户鼠标焦点所在的窗口对应的窗口标识。然后模拟器再判断第一消息所在的窗口标识与用户鼠标焦点所在的窗口对应的窗口标识是否相同。具体来说,模拟器可通过读取窗口id的数值来判断用户鼠标焦点所在的窗口是否与第一消息所在的窗口相同。比如,模拟器读取到的用户鼠标焦点所在的窗口的窗口id为3,第一消息所在的窗口的窗口id为2,那么用户鼠标焦点所在的窗口与第一消息所在的窗口不同。
98.s406:模拟器确定显示提示信息。
99.在本技术实施例中,当模拟器通过s405判断出用户鼠标焦点所在的窗口与第一消
息所在的窗口不同时,模拟器可确定此时需要对用户进行提醒,以使得用户能够及时的处理消息,能够提升用户体验。
100.示例性的,模拟器在确定需要将新消息提醒给用户时,即新消息对应的窗口与鼠标焦点所在的窗口一致,则可以通知windows模拟器进程下的哪个子进程对应的窗口需要闪烁,并且可设置闪烁的时间间隔、闪烁的时长,这样windows可以根据子进程的窗口标识、闪烁的时间间隔、闪烁的时长对相应的窗口进行闪烁。
101.以下为了描述方便,可将第一消息所在的窗口标识记为“第一标识”,将用户鼠标焦点所在的窗口对应的窗口标识记为“第二标识”。应理解,第一标识与第二标识可能相同,也可能不同,在s405中第一标识与第二标识不同,在s406中第一标识与第二标识相同。
102.下面结合几种可能的应用场景,对第一标识与第二标识不同的情况进行详细介绍。
103.场景1:第一消息所在的第一窗口显示在界面上。
104.针对场景1,具体可包括如下两种可能的实现方案:
105.第一种:如图6a中的(a)所示,假设笔记本电脑上显示界面600,该界面600上可显示两个应用窗口,比如分别为电子邮件的应用窗口601、华为视频的应用窗口602、任务栏603。其中,电子邮件的应用窗口601和华为视频的应用窗口602这两个窗口之间没有重叠部分。并且,任务栏603中可包括用户打开的应用程序的图标。当然,界面600中还可以包括其它的应用图标等,本技术对此不作限定。应理解,电子邮件的应用界面对应的应用窗口为窗口601,华为视频的应用界面对应的应用窗口为窗口602。其中,任务栏也可以显示在显示屏的右边等位置,本技术对此不作限定。
106.当用户将鼠标在华为视频的应用窗口上进行点击之后,华为视频的应用窗口602可获得鼠标焦点,此时不管用户如何移动鼠标,只要不点击其它的窗口,那么鼠标焦点所在的窗口就始终为华为视频的应用窗口。应理解,窗口602上所示的箭头即为鼠标焦点所在的位置。
107.需要说明的是,电子邮件的应用窗口601中显示的“收件箱(0)”可以理解为电子邮件app此时没有接收到新的邮件。当电子邮件app接收到新消息,比如有一封新邮件时,该“收件箱(0)”可变为“收件箱(1)”。
108.作为一种可能的实现方式,模拟器可以以应用图标闪烁的提示信息对用户进行提醒。示例性的,假设模拟器内的电子邮件app接收到一封新邮件,此时电子邮件的应用图标可以以一定频率进行闪烁,例如图6a中的(b)所示。此时笔记本电脑上可显示界面610。其中,界面610中可包括电子邮件的应用窗口611,任务栏612。该界面610与界面600相比,界面600中的窗口602中的“收件箱(0)”可更新为应用窗口611中的“收件箱(1)”,同时增加了一封新的邮件(即“发件人为约翰,接收时间为“刚刚”的邮件)。其次,任务栏的电子邮件的应用图标在闪烁。当用户点击电子邮件的应用图标之后,可停止闪烁。
109.应理解,本技术实施例中的图标闪烁仅是以图中所示的线条填充的方式来示意闪烁,在实际产品实现时,闪烁的颜色可以是红色,也可以是蓝色等,本技术对此不作限定。
110.第二种:如图6b中的(a)所示,假设笔记本电脑上显示界面620,该界面620上可显示两个应用窗口,比如分别为电子邮件的应用窗口621、华为视频的应用窗口622、任务栏623。其中,电子邮件的应用窗口621被华为视频的应用窗口622覆盖,即这两个窗口之间有
重叠部分。任务栏623中可以包括用户打开的应用程序的图标。此时鼠标焦点在华为视频的应用窗口622上,不管用户将鼠标如何移动,只要不点击其它窗口,那么鼠标焦点所在的窗口就始终为华为视频的应用窗口。当然,界面620中还可以包括其它的应用图标等,本技术对此不作限定。
111.作为另一种可能的实现方式,模拟器可以以弹窗作为提示信息对用户进行提醒。示例性的,假设模拟器内的电子邮件app应用接收到一封新邮件,此时可以通过弹窗的方式显示新消息的数量,例如图6b中的(b)所示。此时笔记本电脑上可以显示界面630,该界面630中可包括电子邮件的应用窗口631、弹窗632,窗口632中具体可包括第一提示信息,比如“电子邮件提醒”633、第二提示信息“您有一封新邮件。”634和“关闭按钮”635。这样用户就可以知道模拟器内的哪个应用程序接收到了新消息以及接收到的新消息的数量。当用户点击弹窗上的“关闭”按钮635,笔记本电脑可响应用户的操作,关闭界面上显示的弹窗。然后用户可点击电子邮件的应用图标查看接收到的新消息。
112.应理解,第一提示信息用于提示用户新消息的来源,第二提示信息用于提示用户新消息的数量。
113.当然,提醒的方式还可以为:电子邮件的应用图标以一定频率进行闪烁,同时通过弹窗的方式显示新消息的数量。当用户点击弹窗上的“关闭”按钮,笔记本电脑可响应用户的操作,关闭界面上显示的弹窗,此时电子邮件的应用图标可以继续闪烁,直至用户点击电子邮件的应用图标之后,可停止闪烁。
114.场景2:第一消息所在的第一窗口被最小化。
115.由于在本技术实施例中,每一个应用对应一个应用窗口,因此,第一消息所在的第一窗口即为第一应用对应的应用窗口。如图6c中的(a)所示,假设用户将电子邮件的应用窗口最小化,此时笔记本电脑上可显示界面640,该界面640中可包括任务栏641、华为视频的应用窗口642。其中,任务栏641中可包括最小化的电子邮件窗口643、华为视频的应用图标。当然,界面640中还可以包括其它的应用图标等,本技术对此不作限定。
116.作为又一种可能的实现方式,模拟器可以以通知作为提示信息对用户进行提醒。示例性的,假设模拟器内的电子邮件app接收到一封新邮件,此时可以通过应用窗口闪烁以及通知的方式显示新消息的数量,例如图6c中的(b)所示,此时笔记本电脑上可显示界面650。其中,界面650中可包括通知框651,该通知框651中可包括第一提示信息,例如“电子邮件提醒”652、第三提示信息,例如“约翰”653、第四提示信息,例如“你好,今天下午2点在会议室有个会议,请按时参加”654。当然,通知框651中还可以显示发件人的头像。
117.其中,第一提示信息用于提示用户新消息的来源,第三提示信息用于提示新消息的发件人,第四提示信息用于提示用户新消息的内容。
118.这样用户就可以知道模拟器内的哪个应用程序接收到了新消息以及接收到的新消息的内容。其中,通知显示的时间可以为设定时长,例如30s,当时间达到30s之后,该通知可自动关闭。然后,用户可点击闪烁的电子邮件的应用窗口查看接收到的新消息。
119.当然,当模拟器内的应用接收到新消息时,还可以仅通过显示通知的方式来提醒用户等。在一些实施例中,该通知还可以以固定的时间间隔进行显示,直至用户点击电子邮件的应用图标查看接收到的新消息,以避免用户遗漏新消息。
120.需要说明的是,通知中显示的新消息的内容可以包括部分内容或全部内容,当新
消息内容比较短时,可以全部显示在通知中;当新消息内容比较多时,可以显示部分内容在通知中,本技术对此不作限定。
121.上述仅是以一些可能的提醒方式进行了示意,在实际产品实现时,也可以将上述几种提醒方式进行结合或者通过其它的方式来提醒用户,比如可以通过窗口抖动的方式来提醒用户等,本技术实施例不做具体限定。
122.应理解,上述消息提醒的方式仅是以具体场景进行的示意,在实际应用中,消息提醒的方式并不限定用于某个固定场景,例如图6a中的(a)所示的场景,也可以通过弹窗或者通知的形式进行提醒;或者图6b中的(a)所示的场景,也可以通过应用图标闪烁的方式进行提醒等等。
123.s407:模拟器确定不显示提示信息。
124.如果用户鼠标焦点在第一应用对应的第一窗口,那么此时可以直接将第一消息显示在第一窗口中,这种情况下用户也可以直接看到新消息,无需对用户进行提醒。
125.示例性的,如图6d中的(a)所示,假设笔记本电脑上显示界面660,该界面660上可显示两个应用窗口,比如分别为电子邮件的应用窗口661、华为视频的应用窗口662、任务栏663。假设用户鼠标焦点在电子邮件的应用窗口661上。
126.此时,若电子邮件接收到一封新邮件,则模拟器可确定此时用户可以看到新邮件,即不需要通过图标闪烁等方式对用户进行提醒,因此笔记本电脑上可显示界面670。该界面670中可包括:电子邮件的应用窗口671、华为视频的应用窗口662、任务栏663。其中,任务栏663中可包括电子邮件的应用图标、华为视频的应用图标。从图中可以看出:新邮件为“发件人为约翰,接收时间为“刚刚”的邮件。
127.通过本技术实施例的方案,当模拟器内的应用程序接收到新消息时,终端设备可以对模拟器内的应用程序接收到的新消息进行提醒,从而实现前台应用的消息提醒功能,并且使得用户能够及时的获取并处理新消息,提升用户体验。
128.上述本技术提供的实施例中,从终端设备上的应用程序之间的交互的角度对本技术实施例提供的方法进行了介绍。为了实现上述本技术实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
129.如图7所示,本技术另外一些实施例公开了一种电子设备,该电子设备可以是具有显示屏的终端设备。参阅图7所示,所述电子设备700包括:显示屏701;一个或多个处理器702;一个或多个存储器703;多个应用804(图中未示出);以及一个或多个计算机程序805(图中未示出),上述各器件可以通过一个或多个通信总线806连接。
130.其中,显示屏801用于显示终端设备中的应用的显示界面,或者显示提示信息。存储器803中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;处理器802调用存储器803中存储的所述指令,使得终端设备800可以上述实施例的消息提醒方法。
131.在本技术实施例中,处理器802可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体
现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器803中,处理器802读取存储器803中的程序指令,结合其硬件完成上述方法的步骤。
132.在本技术实施例中,存储器803可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如ram。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储指令和/或数据。
133.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
134.基于以上实施例,本技术还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得所述计算机执行以上实施例提供的消息提醒方法。
135.本技术实施例中还提供一种计算机程序产品,包括指令,当其在终端设备上运行时,使得计算机程序产品执行以上实施例提供的消息提醒方法。
136.本技术实施例是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
137.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
138.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1