应用切换方法和系统与流程

文档序号:11432132阅读:267来源:国知局
应用切换方法和系统与流程

本公开涉及电子技术领域,具体地,涉及一种应用切换方法和系统。



背景技术:

随着通信和电子技术的快速发展,各种电子设备(例如,智能手机)被越来越多地应用于人们的日常生活。也出现了各种技术以改善用户体验。适用于智能手机的应用越来越多,使得智能手机的功能越来越多样化。对于同一应用,用户可能有多个账户,或者多个用户可能使用同一智能手机,从而同一应用具有不同用户的多个账户。

例如,当前系统环境对微信(应用1)和支持微信账户登录或支付的应用(如王者荣耀)(应用2)都支持多账户登录,即当前系统存在微信1(账户1的微信应用)、微信2(账户2的微信应用)和王者荣耀1(账户1的王者荣耀应用)、王者荣耀2(账户2的王者荣耀应用)。当用户使用微信账户在王者荣耀中登录或支付时,如在王者荣耀1中,用户选择微信2登录或者支付,当微信2处理完登录或支付流程后,需要将正确授权结果和凭证信息返回给王者荣耀1以完成整个流程。由于系统无法知道当前用户需要启动的是哪个账户的王者荣耀应用,因此导致用户在使用支持多账户登录的应用时,出现页面启动失败或跳转错误等问题。

现有的解决方案是,当发现当前启动的应用不确定时,通过弹出框,提供界面,以供用户选择需要启动的应用。

该方案的缺点是返回的应用的启动需要用户参与,流程复杂,一旦选择错误会导致程序无法正确运行,影响交互的流畅性。

因此,需要一种能够无缝地切换应用的方法。



技术实现要素:

本公开的一个方面提供了一种应用切换方法,包括:在一电子设备上运行第一应用的多个进程,每个进程对应于不同账户;当一个进程调用第二应用时,记录所述进程的信息,作为所述第二应用的跳转路径;以及在被调用的第二应用结束时,查询所述跳转路径,沿跳转路径返回至所述进程。

根据本公开的一个实施例,所述跳转路径记录有所述进程对应的账户的标识。

根据本公开的一个实施例,所述跳转路径作为堆栈或表被记录。

根据本公开的一个实施例,记录所述第二应用的跳转路径包括:向所述进程和所述第二应用之一的堆栈添加以下信息:本堆栈的标识;跳转堆栈的标识。

根据本公开的一个实施例,记录所述第二应用的跳转路径还包括:存储关联堆栈,所述关联堆栈包含:本堆栈的标识,跳转堆栈的标识;其中,所述第二应用的堆栈中的跳转堆栈的标识指示所述关联堆栈,并且所述关联堆栈的跳转堆栈的标识指示所述进程的堆栈。

本公开的另一方面提供了一种电子设备,包括:存储器,存储有机器可读指令;处理器,被配置为运行所述指令时执行以下操作:运行第一应用的多个进程,每个进程对应于不同账户;当一个进程调用第二应用时,记录所述进程的信息,作为所述第二应用的跳转路径;以及在被调用的第二应用结束时,查询所述跳转路径,沿跳转路径返回至所述进程。

本公开的另一方面提供了一种计算机存储介质,存储有计算机程序,所述计算机程序在由处理器执行时使得处理器执行根据本公开所述的方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开的实施例的应用切换方法的应用场景;

图2示意性示出了根据本公开的实施例的应用切换方法的流程图;

图3示出了根据本公开的实施例的应用切换方法的执行的示意图;以及

图4示意性示出了根据本公开的实施例的电子设备的结构的框图。

具体实施方式

根据结合附图对本公开示例性实施例的以下详细描述,本公开的其它方面、优势和突出特征对于本领域技术人员将变得显而易见。

在本公开中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。

在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。

本公开的实施例提供了一种应用切换方法和电子设备。该方法包括在电子设备上运行第一应用。通过多个账户运行第一应用,从而在电子设备上运行第一应用的多个进程,每个进程对应于不同账户。当多个进程中的一个进程启动第二应用时,记录该进程的信息,作为第二应用的跳转路径。在被启动的第二应用结束时,查询所述跳转路径,沿跳转路径返回至所述进程。从而即使当前运行有多个账户的第一应用,通过查询跳转路径,被启动的第二应用可以知晓需要回到的是哪个账户的第一应用,从而成功地跳转到对应账户的第一应用,避免了跳转错误等问题。

图1示意性示出了根据本公开的实施例的应用切换方法的应用场景。

如图1所示,在电子设备(图1中示出为手机)上运行有多个账户的微信应用和多个账户的游戏应用,微信1、微信2、微信3、游戏1、游戏2和游戏3,即账户1的微信应用(微信1)和游戏应用(游戏1)、账户2的微信应用(微信2)和游戏应用(游戏2)以及账户3的微信应用(微信3)和游戏应用(游戏3)。换言之,微信应用和游戏应用都支持多账户登录。

图2示意性示出了根据本公开的实施例的应用切换方法2000的流程图。

如图2所示,根据本公开实施例的呈现图像的方法2000开始,转入步骤s2100,在一电子设备上运行第一应用的多个进程,每个进程对应于不同账户。在图1所示的情形中,用户使用多个账户(账户1-3)登录游戏,例如使用不同等级的账户登录游戏应用。这样,在电子设备上运行有游戏的多个进程,每个进程对应于不同账户。当一个进程调用第二应用时,执行步骤s2200,记录所述进程的信息,作为所述第二应用的跳转路径。在图1所示的情形中,当在游戏1(游戏的对应于账户1的进程)中用户选择使用微信2进行登录或支付时,即用户选择使用账户2来调用微信应用时,记录游戏1的信息,作为微信(微信2)的跳转路径。然后在步骤s2300中,在被调用的第二应用结束时,查询所述跳转路径,沿跳转路径返回至所述进程。在图1所示的情形中,在微信2处理完成支付流程后,其查询所记录的跳转路径,从而知晓是游戏1对其进行了调用,从而返回游戏1。这样,成功地跳转到对其进行调用的账户的应用,避免了跳转错误等问题。

根据本公开的一个实施例,跳转路径记录有所述进程对应的账户的标识。例如,在图1所示的情形中,跳转路径记录有账户1的标识,从而在需要跳转时查询跳转路径就可获知是账户1的游戏应用(即,游戏的进程1)对其进行了调用,从而可以正确地进行跳转。

根据本公开的一个实施例,跳转路径作为堆栈或表被记录。

图3示出了根据本公开的实施例的应用切换方法的执行的示意图。

如图3(a)所示,在电子设备(图3中示出为手机)上运行有多个账户的游戏应用,游戏1、游戏2和游戏3。如图3(b)所示,在游戏1中,用户选择使用微信账号进行登录。如图3(c)所示,用户继续进行选择,选择使用微信的账号2(即,微信2)进行登录。如图3(d)所示,在微信2中执行登录流程,此时,在电子设备的屏幕上,在微信2的页面中显示“正在授权登录”的消息。在微信2中的登录流程处理完成之后,如图3(e)所示,查询跳转路径,跳转路径记录了游戏1的信息,从而如图3(f)所示,在电子设备的屏幕上,在游戏1的页面中显示“登录成功”的消息。

图3中还示出了作为堆栈记录的跳转路径。在图3(d)、3(e)和3(f)的正下方分别示出了微信2、系统以及游戏1的堆栈。

根据本公开的实施例,向所述进程和所述第二应用之一的堆栈添加以下信息:本堆栈的标识;跳转堆栈的标识。根据本公开的实施例,还存储关联堆栈,所述关联堆栈包含:当前堆栈的标识,跳转堆栈的标识。第二应用的堆栈中的跳转堆栈的标识指示所述关联堆栈,并且所述关联堆栈的跳转堆栈的标识指示调用第二应用的进程的堆栈。

下面以android系统为例进行说明。根据本公开的实施例,通过在系统中增加解析模块来动态解析和产生页面的跳转路径。该模块为每个多账户应用的账户维护一个跳转的栈,用于记录跳转路径。在应用a启动应用b的页面时,将需要启动的应用b的信息存放在应用a的堆栈中,包括应用的基本信息(应用的包名、uid、pid等),同时在应用b的堆栈中设置其父节点为应用a对应的堆栈,当在应用中处理完成后,通过查询其父节点的堆栈获取到需要返回的应用以及对应的账户,通过该模块完成页面跳转功能,并将数据正确返回到对应的应用。

如图3所示,在微信2的堆栈中记录有本堆栈的标识2,以及跳转堆栈(父节点的堆栈)的标识1。在系统的解析模块的堆栈中记录有本堆栈的标识1,以及跳转堆栈的标识0。在游戏1的堆栈中记录有本堆栈的标识0,以及跳转堆栈的标识-1。在微信2处理完成后,其查询跳转路径,即本堆栈,获知跳转堆栈为标识1的堆栈。标识为1的堆栈即系统维护的堆栈。系统的解析模块进行分析,查询跳转路径,获知跳转堆栈为标识0的堆栈,即游戏1的堆栈。游戏1继续查询其跳转路径,获知跳转堆栈为标识-1的堆栈,因此获知跳转路径结束。因此,根据本公开的实施例,从微信2成功地跳转到游戏1。

根据本公开的实施例,可以在系统中为各个进程创建的堆栈中添加本堆栈的标识和跳转堆栈的标识,以创建跳转路径。

根据本公开的另一实施例,可以在系统中为各个进程新创建一个堆栈,并在堆栈中添加本堆栈的标识和跳转堆栈的标识、以及进程的基本信息。例如,从图3(d)下方的堆栈可以看出,这是应用包名为com.tencent.mm的堆栈,即微信的堆栈,其堆栈标识为2,其跳转堆栈的标识为1。

根据本公开的实施例,跳转路径也可以以表的形式记录。例如,可以在系统中为路径的跳转维护一个表。在支持多账户的应用中的一个进程启动另一应用时,在表中添加一行信息,即在主动应用一栏中记录进程的基本信息,在被动应用一栏中记录其所启动的应用的基本信息。在所启动的应用中的处理完成之后,查询被动应用一栏,找到信息与自身应用的信息匹配的一行,进而,该行的主动应用一栏中记录的进程即启动该应用的进程,从而找到要跳转的进程。

本领域技术人员可以知晓,根据本公开的跳转路径并不局限于堆栈和表的形式。任何其他适用的数据结构形式都可以用于记录跳转路径以实现本公开的技术方案。

图4示意性示出了根据本公开的实施例的电子设备4000的结构的框图。

如图4所示,显示系统4000包括处理器410、计算机可读存储介质420、信号发送器430、信号接收器440。该电子设备可以执行上面参考图2~图3描述的方法,以在存在多账户应用的情况下,无需用户参与,无缝地进行应用的切换。

具体地,处理器410例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器410还可以包括用于缓存用途的板载存储器。处理器410可以是用于执行参考图2~图3描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质420例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

计算机可读存储介质420可以包括计算机程序421,该计算机程序421可以包括代码/计算机可执行指令,其在由处理器410执行时使得处理器410执行例如上面结合图2~图3所描述的方法流程及其任何变形。

计算机程序421可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序421中的代码可以包括一个或多个程序模块,例如包括模块421a、模块421b、模块421c。其中,当处理器执行模块421a时,处理器在电子设备上通过多个账户运行第一应用。即在电子设备上运行第一应用的多个进程,每个进程对应于不同账户。当处理器执行模块421b时,即,当一个进程调用第二应用时,处理器记录所述进程的信息,作为所述第二应用的跳转路径。当处理器执行模块421c时,即,在被调用的第二应用结束时,处理器查询所述跳转路径,沿跳转路径返回至所述进程。

应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器410执行时,使得处理器410可以执行例如上面结合图2~3所描述的方法流程及其任何变形。

根据本公开的实施例,处理器410可以使用信号发送器430和信号接收器440来执行上面结合图2~3所描述的方法流程及其任何变形。

尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

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