自定义后退处理方法和装置与流程

文档序号:11677291阅读:247来源:国知局
自定义后退处理方法和装置与流程

本发明涉及安卓开发领域,具体而言,涉及自定义后退处理方法和装置。



背景技术:

reactnative:(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的ui框架react在原生移动应用平台的衍生产物,目前支持ios和安卓两大平台。rn使用javascript语言,类似于html的jsx来开发移动应用。

由于reactnative在android平台默认是没有手机上后退按钮处理的,所以点击后退按钮app会直接退回到桌面。目前主流的设计方式是监听后退按钮,当点击后退按钮时候进行界面退出操作,返回到上一层界面。但是这个方式只能满足很简单返回上一层界面逻辑处理。针对某些界面需要针对后退按钮做不同操作的场景,如果按照常规的后退逻辑处理,就不能满足用户的特殊要求。



技术实现要素:

本发明提供的自定义后退处理方法和装置,旨在改善上述问题。

第一方面,本发明实施例提供的一种自定义后退处理方法,应用于移动终端安卓平台中的应用界面。所述方法包括:监听当前应用界面的后退按钮是否被触发,在监听到所述当前应用界面的后退按钮被触发时,获取对应所述当前应用界面的后退规则。执行基于所述后退规则的后退操作。

第二方面,本发明实施例提供的一种自定义后退处理装置,应用于移动终端安卓平台中的应用界面。所述方法包括:触发状态监控模块,用于监听当前应用界面的后退按钮是否被触发。后退规则获取模块,用于在监听到所述当前应用界面的后退按钮被触发时,获取对应所述当前应用界面的后退规则。后退操作执行模块,用于执行基于所述后退规则的后退操作。

本发明实施例提供的自定义后退处理方法和装置,应用于移动终端安卓平台的应用界面。移动终端监听安卓平台当前应用界面的后退按钮的触发状态,在监听到后退按钮被触发时,获取当前应用界面的后退规则。基于所获取的后退规则,判断当前应用界面是否存在特殊处理规则,若存在则根据预设的特殊处理规则执行特殊的后退处理流程,若不存在则根据常规的后退规则执行当前应用界面的常规后退规则。根据用户的特殊需求,预设针对不同界面的不同的处理规则,在用户触发目标界面的后退按钮时,即可按照预设的程序执行预设的特殊后退处理规则,满足用户对不同界面的后退按钮的不同处理需求,提高了用户体验度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的自定义后退处理方法和装置所应用的移动终端的硬件结构图;

图2是本发明第一实施例提供的自定义后退处理方法的步骤流程图;

图3是本发明第二实施例提供的自定义后退处理方法的步骤流程图;

图4是本发明第三实施例提供的自定义后退处理装置的功能模块图。

具体实施方式

鉴于此,本发明的设计者通过长期的探索和尝试,以及多次的实验和努力,不断的改革创新,得出本方案所示的自定义后退处理方法和装置及应用响应方法和装置。

如图1所示,是本发明实施例提供的自定义后退处理方法和装置所应用的移动终端100的方框示意图。所述移动终端100包括自定义后退处理装置101、存储器102、存储控制器103、处理器104、外设接口105、输入输出单元106、显示单元107。

所述存储器102、存储控制器103、处理器104、外设接口105、输入输出单元106、显示单元107,各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述自定义后退处理装置101包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或固化在所述移动终端100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器104用于执行存储器102中存储的可执行模块,例如所述自定义后退处理装置101包括的软件功能模块或计算机程序。

其中,存储器102可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器102用于存储程序,所述处理器104在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的过程定义的移动终端101所执行的方法可以应用于处理器104中,或者由处理器104实现。

处理器104可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器104可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口105将各种输入输出单元106耦合至处理器104以及存储器102。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元106用于提供给用户输入数据实现用户与数据采集终端的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。

显示单元107在所述移动终端与用户之间提供一个交互界面,例如用户操作界面,或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。

请参见图2,为本发明第一实施例提供的自定义后退处理方法的步骤流程图,应用于移动终端100,用于自定义设置移动终端100的安卓平台的应用界面后退按钮的处理逻辑。下面将对图2所示的步骤进行具体解释。

步骤s201,监听当前应用界面的后退按钮是否被触发。

所述移动终端通过监控安卓平台的后退按钮的触发状态的方式,实现特定界面的自定义后退处理操作,尤其是rn界面在安卓平台的自定义后退处理操作。所述移动终端监听所述安卓平台的当前应用界面的后退按钮的触发状态,监听所述当前应用界面上的后退按钮是否被触发,尤其是某些需要进行特殊的自定义后退处理的目标界面的后退按钮是否被触发。

步骤s202,在监听到所述当前应用界面的后退按钮被触发时,获取对应所述当前应用界面的后退规则。

在所述安卓平台的导航界面加入后退按钮的监听程序,在监听到当前应用界面的后退按钮的触发状态改变,即为所述当前应用界面的后退按钮被触发时,获取该当前应用界面的后退规则,所述后退规则用于指示当前应用界面的后退按钮所指示的后退操作。在一种实施方式中,后退操作可以包括常规操作和特殊操作,所述常规操作可以包括:退回至系统的桌面或者上一层界面,所述特殊操作可以为最小化当前应用界面、返回列表界面、隐藏当前应用界面等。不同界面所对应的后退操作类型和具体操作可以不同。

步骤s203,执行基于所述后退规则的后退操作。

在监听到当前应用界面的后退按钮被触发时,获取该当前应用界面的后退规则,并执行所获取的后退规则对应的后退操作。如果当前应用界面是需要进行特殊后退处理的目标界面,则该目标界面的后退规则为自定义的处理规则,需要基于该自定义的处理规则执行对应的后退操作,所述特殊的后退操作可以为最小化当前应用界面等。如果当前应用界面是不需要特殊后退处理的常规界面,则该常规界面的后退规则为常规的后退处理规则,需要进行常规的后退处理操作,所述常规的后退处理操作可以为退回主界面、返回上一层等常规操作。

在上述实施例的基础上,所述安卓平台的界面为reactnative界面。上述的步骤,在监听到所述当前应用界面的后退按钮被触发时,获取对应所述当前应用界面的后退规则,其具体实施方式可以为:

监听所述reactnative界面的后退按钮的触发状态,在监控到所述后退按钮的触控状态为已触发时,判断当前应用界面是否为目标界面。其中,所述目标界面为预先设定的,需要进行自定义后退处理的界面。判断当前应用界面是否为目标界面,即为判断当前应用界面的后退按钮是否需要进行特殊的后退处理操作。

如果当前应用界面是目标界面,则获取对应所述当前应用界面的后退规则;

如果所述当前应用界面不是目标界面,则将所述reactnative界面的常规后退规则作为当前应用界面的后退规则。

上述本实施例提供的自定义后退处理方法,不用针对每个界面均设置后退规则,只需要设置需要进行特殊后退处理的目标界面的后退规则,不需要设置后退处理的界面只需要自动匹配常规后退规则,节省了程序设置资源,提高了安卓系统的设置效率和运行效率。

在上述实施例中,判断当前应用界面是否为目标界面的方式可以为:

获取所述当前应用界面的界面路由对象,根据所述当前应用界面的界面路由对象,判断是否存在自定义后退函数。

如果所述当前应用界面的界面路由对象中存在自定义后退函数,则判定所述当前应用界面是目标界面;

如果所述当前应用界面的界面路由对象中不存在自定义后退函数,则判定所述当前应用界面不是目标界面。

在需要进行特殊处理的目标界面的后退逻辑中,获取当前应用界面的界面路由对象,写入对应当前应用界面的自定义后退操作的自定义后退函数。在需要判断当前应用界面是否为需要特殊的自定义后退处理时,获取所述目标界面的界面路由对象,判断所获取的所述界面路由对象是否存在自定义后退函数,进而推断出当前应用界面是否为目标界面。在一种实施方式中,所述自定义后退函数可以为对应每个目标界面自定义设置的用于指示后退处理的函数,则不同界面的自定义后退函数不同,每个自定义后退函数与当前应用界面预设的自定义后退处理操作相对应。在其他实施方式中,所述自定义后退函数可以用于指示当前应用界面为需要处理的目标界面,并不指示其所需要进行的特殊后退处理操作的具体内容。在此情况下,不同界面的自定义后退函数可以是相同的,只用于判断当前应用界面是否为目标界面。而在判定为目标界面后,在依据流程获取对应每个目标界面的后退规则。

上述本发明实施例提供的自定义后退处理方法,移动终端监听安卓平台界面的后退按钮的触发状态,在监听到后退按钮被触发时,获取当前应用界面的后退规则。基于所获取的后退规则,判断当前应用界面是否存在特殊处理规则,若存在则根据预设的特殊处理规则执行特殊的后退处理流程,若不存在则根据常规的后退规则执行当前应用界面的常规后退规则。根据用户的特殊需求,预设针对不同应用界面的不同的处理规则,在用户触发目标界面的后退按钮时,即可按照预设的程序执行预设的特殊后退处理规则,满足用户对不同界面的后退按钮的不同处理需求,提高了用户体验度。

请参见图3,为本发明第二实施例提供的自定义后退处理方法的步骤流程图。在上述实施例的基础上,本发明实施例还增设了自定义后退操作的设置过程。下面将结合图3,对本发明实施例提供的自定义后退处理方法的程序设置过程进行具体描述。

步骤s301,通过导航控件管理所述reactnative界面跳转。

所述自定义后退处理装置通过导航控件管理所述reactnative界面,并加入后退按钮监听模块。首先,通过导航控件管理所述reactnative界面,使得所述所述reactnative界面之间的跳转具有可控性。实现所述reactnative界面之间的跳转控制的过程可以包括:查找包含所述导航控件的待设置界面,重置所述待设置界面的加载调用程序和注销调用程序重置所述待设置界面的加载调用程序和注销调用程序,即重置reactnative界面的生命周期。

步骤s302,添加后退按钮监听程序。

依据上述步骤重置所述reactnative界面的生命周期后,在重置调用程序中添加后退按钮监听程序。获取reactnative界面在刚加载完成时调用的加载调用程序,在所述待设置界面的加载调用程序中添加后退按钮监听启动程序。获取所述reactnative界面注销时调用的注销调用程序,在所述待设置界面的注销调用程序中添加后退按钮监听注销程序,即实现后退按钮监听程序的设置。

在一种实施方式中,引用navigator导航控件,管理所述reactnative界面,使得所述reactnative界面之间的跳转可控制。在包含navigator控件里重写componentwillmount()和componentwillunmount()方法。其中,所述componentwillmount和componentwillunmount是reactnative界面的生命周期的设置函数,所述componentwillmount是当界面控件刚加载完成时候调用的加载调用函数,所述componentwillunmount是当界面注销时候调用的注销调用函数。

后退按钮的监听设置过程如下:在componentwillmount中加入backandroid.addeventlistener(‘hardwarebackpress’,

this.onbackpress)增加后退按钮监听,在componentwillunmount中加入backandroid.removeeventlistener(‘hardwarebackpress’,this.onbackpress)注销后退按钮监听。其中,addeventlistener是添加监听操作的方法,hardwarebackpress是监听函数的标识,this.onbackpress是当后退按钮被点击时具体执行的方法,removeeventlistener是注销监听方法,通过监听函数的标识,即hardwarebackpress,注销掉之前注册的监听。通过上述过程即可实现在所述reactnative界面的起止调用函数中添加后退按钮监听程序。

步骤s303,设置对应至少一个目标界面的后退规则。

依据上述步骤重置所述reactnative界面的调用函数,增加后退按钮的监听操作后,设置对应需要进行特殊后退处理操作的目标界面的后退规则。所述目标界面可以为多个,设置每个目标界面可以均对应的一个后退规则,几个目标界面也可以共用一个后退规则。

在一种实施方式中,在onbackpress方法中实现this.navigator.pop()后,可以在pop()方法上增加一层自定义的处理函数handleback的方法让不同的目标界面执行不同的后退按钮的后退操作。设置consthandleback=top.handleback,其中top表示上一层界面返回的界面路由对象,top.handleback表示上一层界面的handleback函数,可以解释为本发明实施例设置的自定义后退函数。加入if(handle){returnhandleback},判断handle是否存在,也就是判断上一层界面的handleback函数是否存在具体内容,进而判断上一层界面是否为需要进行特殊处理的目标界面。如果存在,就可以推断为当前应用界面为目标界面,返回这个handleback的处理逻辑,也就是针对特定界面的后退按键处理。如果不存在,就可以推断为当前应用界面不是目标界面,不需要特殊的后退操作。可以继续执行this.navigator.pop(),也就是按常规方式的后退操作处理。一般地,常规方式的后退操作处理为返回上一层界面。

步骤s304,将所述后退规则添加到对应的所述目标界面。

依据上述步骤,在后退按钮监听后加入hanleback方法后,将handleback通过navigator传递到reactnative各个界面。其实现过程可以为:在navigator控件中加入代码<componentnavigator={navigator}handleback={handleback}/>。navigator用于将navigator传递到下一层界面,下一层界面通过navigator来操作界面跳转,handleback是自定义的后退处理函数,用于处理特定后退逻辑。

依据上述步骤设置所述安卓平台的自定义后退规则的处理方式后,在应用过程中,各个界面在监听到后退按钮被触发时,获取到对应hanleback,进行不同处理。在需要处理后退处理的界面,通过在componentdidmount函数中加入this.props.navigator.getcurrentroutes()获取当前navigator的所有路由,通过lettop=routers[routers.length-1]获取当前路由,top.handleback=this.handleback。将当前路由的handleback设置为当前应用界面的handleback函数,这样在之前主界面就会判断得到当前应用界面是有handleback的。在监听到后退按钮时,处理当前应用界面的handleback函数。根据当前应用界面的handleback函数,处理预设的后退按键逻辑即可。

例如,在一种应用程序的某个播放界面,该播放界面的后退按钮的常规处理操作为直接返回到上一层界面,可以为房间列表界面。但是在实际应用中,用户需求的后退按钮对应的处理操作为返回到房间界面,房间界面与当前播放界面为同一界面,等同于房间界面的全屏播放显示。因此,用户期望设置的当前播放界面的后退按钮的处理逻辑为退出全屏播放。在预先设置过程中,将当前播放界面设置为需要进行特殊处理的目标界面,该目标界面的后退规则为退出全屏播放。相应地,在使用过程中,用户触发当前播放界面的后退按钮,即可实现当前应用界面的退出全屏操作,即切换到用户期望的房间界面。

上述本发明实施例提供的自定义后退处理方法,增设自定义后退功能的设置过程。通过导航控件管理界面之间的跳转,增设后退按钮的监听操作,并针对需要特殊后退操作的目标界面设置对应的后退规则,在使用过程中监控到目标界面的后退按钮的触发操作时,即可实现该目标界面的特定后退逻辑。提升了代码的扩展性,实现处理不同界面之间后退按钮逻辑。

请参见图4,为本发明第三实施例提供的自定义后退处理装置400的功能模块图,所述自定义后退处理装置400应用于移动终端安卓平台中的应用界面。本发明实施例提供的自定义后退处理装置400可以同上述实施例提供的自定义后退处理装置101。所述自定义后退处理装置包括:触发监控模块401、后退规则获取模块402和后退操作执行模块403。

触发状态监控模块401,用于监听当前应用界面的后退按钮是否被触发;

后退规则获取模块402,用于在监听到所述当前应用界面的后退按钮被触发时,获取对应所述当前应用界面的后退规则;

后退操作执行模块403,用于执行基于所述后退规则的后退操作。

在上述实施例的基础上,所述当前应用界面为reactnative界面,所述后退规则获取模块402用于:

判断所述当前应用界面是否为目标界面;

若是,则获取对应所述当前应用界面的后退规则;

若否,则将所述reactnative界面的常规后退规则作为所述当前应用界面的后退规则。

在上述实施例的基础上,所述自定义后退处理装置400还包括后退规则设置模块404,所述后退规则设置模块404用于:

通过导航控件管理所述reactnative界面跳转;

添加后退按钮监听程序;

设置对应至少一个目标界面的后退规则,其中,所述后退规则用于指示所述目标界面的后退按钮所对应的后退操作;

将所述后退规则添加到对应的所述目标界面。

综上所述,本发明实施例提供的自定义后退处理装置,移动终端监听安卓平台界面的后退按钮的触发状态,在监听到后退按钮被触发时,获取当前应用界面的后退规则。基于所获取的后退规则,判断当前应用界面是否存在特殊处理规则,若存在则根据预设的特殊处理规则执行特殊的后退处理流程,若不存在则根据常规的后退规则执行当前应用界面的常规后退规则。根据用户的特殊需求,预设针对不同界面的不同的处理规则,在用户触发目标界面的后退按钮时,即可按照预设的程序执行预设的特殊后退处理规则,满足用户对不同界面的后退按钮的不同处理需求,提高了用户体验度。本发明实施例提供的自定义后退处理装置的具体实施过程请参见上述方法实施例,在此不再一一赘述。

以上仅为本发明的优选实施例而已,不用于限制本发明,对于本领域的技术人员来说,可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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