CN109740090A - 一种基于混合开发的android页面返回跳转方法及其系统 - Google Patents

一种基于混合开发的android页面返回跳转方法及其系统 Download PDF

Info

Publication number
CN109740090A
CN109740090A CN201811588257.8A CN201811588257A CN109740090A CN 109740090 A CN109740090 A CN 109740090A CN 201811588257 A CN201811588257 A CN 201811588257A CN 109740090 A CN109740090 A CN 109740090A
Authority
CN
China
Prior art keywords
page
return
android
web
higher level
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.)
Pending
Application number
CN201811588257.8A
Other languages
English (en)
Inventor
王晴
季建新
马锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING TIANSU AUTOMATION CONTROL SYSTEM CO Ltd
Original Assignee
NANJING TIANSU AUTOMATION CONTROL SYSTEM CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NANJING TIANSU AUTOMATION CONTROL SYSTEM CO Ltd filed Critical NANJING TIANSU AUTOMATION CONTROL SYSTEM CO Ltd
Priority to CN201811588257.8A priority Critical patent/CN109740090A/zh
Publication of CN109740090A publication Critical patent/CN109740090A/zh
Pending legal-status Critical Current

Links

Abstract

本发明提出了一种基于混合开发的android页面返回跳转方法及其系统,所述的方法具体步骤如下:S1、原生系统通过覆写Activity的onKeyDown方法拦截android返回键,获取返回键的单击事件;S2、调用web端goBack方法中的backView方法查找$ionicHistory堆栈中的web端历史记录,判断当前web页面的上级页面类型;S3、当上级页面是web页面时,调用$ionicHistory.goBack方法返回上级web页面;S4、当上级页面是原生页面时,调用android原生页面注册的goBack方法返回原生页面。所述的系统包括安卓端监听模块、Web端监听模块、判断模块、web端返回模块和安卓系统返回模块。本发明方法和系统可以在发生返回操作后正确判断上级页面类型,并按顺序返回上级页面,避免混合开发软件页面跳转错误的问题。

Description

一种基于混合开发的android页面返回跳转方法及其系统
技术领域
本发明涉及一种混合开发的android APP页面跳转的方法,属于APP混合开发技术领域。
背景技术
App混合开发是一个常见的软件开发模式,通常混合开发的APP的一部分功能通过native构建,另一部分功能通过html5构建。由于混合开发可以节约开发成本,缩短App开发周期,很多App开始使用混合开发模式。
在android APP混合开发的过程中,通常考虑两个返回按键,一个是android原生系统自带的物理返回按键,另一个是web页面左上角或右上角的返回按键。正常情况下,当我们点击物理返回键或者web端返回按钮时,APP会按顺序返回上一级页面,但是在实际的开发和测试过程中,APP打开的页面级数较多时,页面跳转有可能发生混乱,页面无法按照顺序返回。
发明内容
针对混合开发的android APP在进行返回操作后无法按顺序返回上级页面的问题,本发明提出了一种基于混合开发的android页面返回跳转方法及其系统,在发生返回操作后,通过backView方法查找$ionicHistory堆栈中的web端历史记录,判断当前页面的上级页面类型,根据判断结果逐级返回上级页面。
为解决上述技术问题,本发明采用了如下技术手段:
一种基于混合开发的android页面返回跳转方法,具体包括以下步骤:
S1、原生系统通过覆写Activity的onKeyDown方法拦截android返回键,获取返回键的单击事件;
S2、调用web页面注册的goBack方法,在goBack方法中调用$ionicHistory .backView方法查找$ionicHistory堆栈中的web端历史记录,判断当前web页面的上级页面类型;
S3、当上级页面是web页面时,调用$ionicHistory .goBack方法返回上级web页面;
S4、当上级页面是原生页面时,调用android原生页面注册的goBack方法返回原生页面。
进一步的,所述的android返回键包括android物理返回键和web网页功能返回键。
进一步的,步骤S2中的历史记录包括view视图窗口和底部弹出窗口。
进一步的,步骤S4中goBack方法的具体操作是调用activity的finish方法,关闭当前webview页面,返回上一级的原生页面。
一种基于混合开发的android页面返回跳转系统,包括安卓端监听模块、Web端监听模块、判断模块、web端返回模块和安卓系统返回模块。其中,安卓端监听模块用于监听android物理返回键的单击事件;Web端监听模块用于监听web网页功能返回键的单击事件;判断模块,用于判断当前web页面的上级页面类型;web端返回模块,用于调用web端注册的goBack方法返回上级web页面;安卓系统返回模块,用于调用安卓原生页面注册的goBack方法返回原生页面。
采用以上技术手段后可以获得以下优势:
本发明提出了一种基于混合开发的android页面返回跳转方法及其系统,监听android返回键,在触发了返回操作后,调用backView方法查找$ionicHistory堆栈中的web端历史记录,判断当前页面的上级页面是不是web页面,结合判断结果调用goBack方法逐级返回,本发明方法加入判断机制,可以有效避免页面跳转错误的情况,帮助混合开发的androidAPP按照顺序返回页面。
附图说明
图1为本发明一种基于混合开发的android页面返回跳转方法的步骤流程图。
图2为一种基于混合开发的android页面返回跳转系统的结构示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明:
一种基于混合开发的android页面返回跳转方法,如图1所示,具体包括以下步骤:
S1、原生系统通过覆写Activity的onKeyDown方法拦截android物理返回键和web网页功能返回键,从而获取两者中任一个的单击事件。
S2、调用web页面注册的goBack方法,在goBack方法中调用$ionicHistory.backView方法查找$ionicHistory堆栈中的web端历史记录,判断当前web页面的上级页面类型;在本发明中,web端页面使用的框架是ionic框架,其默认封装使用$ionicHistoryAPI,Android通过WebView加载网页,并将web页面信息存储在$ionicHistory堆栈中,$ionicHistory堆栈存储的历史记录包括view视图窗口和底部弹出窗口,且这些历史记录按照用户打开的先后顺序存储。根据backView方法可以判断$ionicHistory堆栈中有无web页面信息,从而判断当前页面的上级页面类型。
S3、在本发明中,在JavascriptInterface的基础上通过使用第三方开源框架实现网页中的JS事件和Native 代码的交互。在web端注册goBack方法,当$ionicHistory堆栈中存在web端页面的历史记录,即上级页面是web页面时,调用$ionicHistory .goBack方法返回上级web页面。
S4、当$ionicHistory堆栈中没有web端页面的历史记录,即上级页面是原生页面时,调用android原生页面注册的goBack方法返回原生页面。原生页面的goBack方法中,通过调用activity的finish方法,关闭当前webview页面,返回到上一层的原生页面。
在本具体实施例中提供了本发明方法的部分代码,步骤S1的代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode==KeyEvent.KEYCODE_BACK)&& !isPageError) {
webView.callHandler("goBack", "hello good", newCallBackFunction() {
@Override
public void onCallBack(String data) {
}
});
return true;
}
return super.onKeyDown(keyCode, event);
}
步骤S3的代码如下:
nativeService.registerHandler("goBack", function (data, responseCallback){ if(popUpService.hasShow()){ popUpService.closePopAndModal();}else if($ionicHistory.backView()== null){ nativeService.nativeCall("goback"); }else{ $ionicHistory.goBack(); } });
步骤S4的代码如下:
webView.registerHandler("goback", new BridgeHandler() {
@Override
public void handler(String data, CallBackFunction function) {
function.onCallBack("goback");
finish();
}
});
一种基于混合开发的android页面返回跳转系统,如图2所示,包括安卓端监听模块、Web端监听模块、判断模块、web端返回模块和安卓系统返回模块。其中,安卓端监听模块用于监听android物理返回键的单击事件;Web端监听模块用于监听web网页功能返回键的单击事件;判断模块,用于判断当前web页面的上级页面类型;web端返回模块,用于调用web端注册的goBack方法返回上级web页面;安卓系统返回模块,用于调用安卓原生页面注册的goBack方法返回原生页面。
上面结合附图对本发明的实施方式作了详细地说明,但是本发明并不局限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (5)

1.一种基于混合开发的android页面返回跳转方法,其特征在于,具体包括以下步骤:
S1、原生系统通过覆写Activity的onKeyDown方法拦截android返回键,获取返回键的单击事件;
S2、调用web页面注册的goBack方法,在goBack方法中调用$ionicHistory .backView方法查找$ionicHistory堆栈中的web端历史记录,判断当前web页面的上级页面类型;
S3、当上级页面是web页面时,调用$ionicHistory .goBack方法返回上级web页面;
S4、当上级页面是原生页面时,调用android原生页面注册的goBack方法返回原生页面。
2.根据权利要求1所述的基于混合开发的android页面返回跳转方法,其特征在于,所述的android返回键包括android物理返回键和web网页功能返回键。
3.根据权利要求1所述的基于混合开发的android页面返回跳转方法,其特征在于,步骤S2中的历史记录包括view视图窗口和底部弹出窗口。
4.根据权利要求1所述的基于混合开发的android页面返回跳转方法,其特征在于,步骤S4中goBack方法的具体操作是调用activity的finish方法,关闭当前webview页面,返回上一级的原生页面。
5.一种基于混合开发的android页面返回跳转系统,其特征在于,包括:
安卓端监听模块,用于监听android物理返回键的单击事件;
Web端监听模块,用于监听web网页功能返回键的单击事件;
判断模块,用于判断当前web页面的上级页面类型;
web端返回模块,用于调用web端注册的goBack方法返回上级web页面;
安卓系统返回模块,用于调用安卓原生页面注册的goBack方法返回原生页面。
CN201811588257.8A 2018-12-25 2018-12-25 一种基于混合开发的android页面返回跳转方法及其系统 Pending CN109740090A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811588257.8A CN109740090A (zh) 2018-12-25 2018-12-25 一种基于混合开发的android页面返回跳转方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811588257.8A CN109740090A (zh) 2018-12-25 2018-12-25 一种基于混合开发的android页面返回跳转方法及其系统

Publications (1)

Publication Number Publication Date
CN109740090A true CN109740090A (zh) 2019-05-10

Family

ID=66359696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811588257.8A Pending CN109740090A (zh) 2018-12-25 2018-12-25 一种基于混合开发的android页面返回跳转方法及其系统

Country Status (1)

Country Link
CN (1) CN109740090A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175309A (zh) * 2019-05-30 2019-08-27 四川长虹电器股份有限公司 移动应用混合开发的原生端资源池管理系统及方法
CN110430473A (zh) * 2019-07-18 2019-11-08 东软集团股份有限公司 视频播放的方法、装置、存储介质及电子设备
CN111258559A (zh) * 2020-02-21 2020-06-09 南京新贝金服科技有限公司 一种基于React Native的混合应用多级页面路由跳转方法
CN111459481A (zh) * 2020-03-26 2020-07-28 平安普惠企业管理有限公司 页面侧滑方法、装置、电子设备和存储介质
CN111831280A (zh) * 2020-05-29 2020-10-27 大数金科网络技术有限公司 基于全局单例WebView容器的混合开发方法
CN112087651A (zh) * 2020-09-18 2020-12-15 聚好看科技股份有限公司 显示询问信息的方法及智能电视
CN113536177A (zh) * 2020-04-15 2021-10-22 武汉斗鱼鱼乐网络科技有限公司 一种页面跳转方法、装置、服务器和存储介质
CN114356434A (zh) * 2021-11-26 2022-04-15 北京达佳互联信息技术有限公司 页面加载方法、设备、装置、存储介质及程序产品
CN115022454B (zh) * 2022-06-24 2024-02-02 中国平安财产保险股份有限公司 一种安卓端返回操作方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777967A (zh) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 页面返回方法、页面生成方法和装置
CN105138340A (zh) * 2015-09-15 2015-12-09 北京齐尔布莱特科技有限公司 一种Native与Web页面的交互方法和系统
AU2016100915A4 (en) * 2016-06-22 2016-07-14 Moore, Luke Brett MR Basically you touch your mobile device to the side of your desktop monitor, laptop screen or television display and the URL gets pushed across to your mobile device. A natural and human response for quickly moving from one display to a mobile device. The process can also go from mobile device to a larger display. Let's say, you are watching a YouTube video and you have to leave in a hurry but you want to keep watching, simply touch your mobile phone to the monitor and the url jumps to your mobile device.
CN106371830A (zh) * 2016-08-25 2017-02-01 北京量科邦信息技术有限公司 一种实现原生app和web页面关闭及后退控制的交互方法
CN107506430A (zh) * 2017-08-22 2017-12-22 四川长虹电器股份有限公司 一种基于混合开发的路由控制方法及系统
CN107679061A (zh) * 2017-07-26 2018-02-09 上海壹账通金融科技有限公司 混合app的页面导航方法、装置、终端和存储介质
CN107844583A (zh) * 2017-11-13 2018-03-27 深圳峰创智诚科技有限公司 应用程序页面返回的实现方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777967A (zh) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 页面返回方法、页面生成方法和装置
CN105138340A (zh) * 2015-09-15 2015-12-09 北京齐尔布莱特科技有限公司 一种Native与Web页面的交互方法和系统
AU2016100915A4 (en) * 2016-06-22 2016-07-14 Moore, Luke Brett MR Basically you touch your mobile device to the side of your desktop monitor, laptop screen or television display and the URL gets pushed across to your mobile device. A natural and human response for quickly moving from one display to a mobile device. The process can also go from mobile device to a larger display. Let's say, you are watching a YouTube video and you have to leave in a hurry but you want to keep watching, simply touch your mobile phone to the monitor and the url jumps to your mobile device.
CN106371830A (zh) * 2016-08-25 2017-02-01 北京量科邦信息技术有限公司 一种实现原生app和web页面关闭及后退控制的交互方法
CN107679061A (zh) * 2017-07-26 2018-02-09 上海壹账通金融科技有限公司 混合app的页面导航方法、装置、终端和存储介质
CN107506430A (zh) * 2017-08-22 2017-12-22 四川长虹电器股份有限公司 一种基于混合开发的路由控制方法及系统
CN107844583A (zh) * 2017-11-13 2018-03-27 深圳峰创智诚科技有限公司 应用程序页面返回的实现方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
寒生1988: "Android小技巧:WebView回退", 《HTTPS://BLOG.CSDN.NET/BIHANSHENG2010/ARTICLE/DETAILS/50553574》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175309A (zh) * 2019-05-30 2019-08-27 四川长虹电器股份有限公司 移动应用混合开发的原生端资源池管理系统及方法
CN110175309B (zh) * 2019-05-30 2022-01-28 四川长虹电器股份有限公司 移动应用混合开发的原生端资源池管理系统及方法
CN110430473A (zh) * 2019-07-18 2019-11-08 东软集团股份有限公司 视频播放的方法、装置、存储介质及电子设备
CN111258559A (zh) * 2020-02-21 2020-06-09 南京新贝金服科技有限公司 一种基于React Native的混合应用多级页面路由跳转方法
CN111459481A (zh) * 2020-03-26 2020-07-28 平安普惠企业管理有限公司 页面侧滑方法、装置、电子设备和存储介质
CN113536177A (zh) * 2020-04-15 2021-10-22 武汉斗鱼鱼乐网络科技有限公司 一种页面跳转方法、装置、服务器和存储介质
CN113536177B (zh) * 2020-04-15 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 一种页面跳转方法、装置、服务器和存储介质
CN111831280A (zh) * 2020-05-29 2020-10-27 大数金科网络技术有限公司 基于全局单例WebView容器的混合开发方法
CN112087651A (zh) * 2020-09-18 2020-12-15 聚好看科技股份有限公司 显示询问信息的方法及智能电视
CN112087651B (zh) * 2020-09-18 2022-02-01 聚好看科技股份有限公司 显示询问信息的方法及智能电视
CN114356434A (zh) * 2021-11-26 2022-04-15 北京达佳互联信息技术有限公司 页面加载方法、设备、装置、存储介质及程序产品
CN114356434B (zh) * 2021-11-26 2024-03-26 北京达佳互联信息技术有限公司 页面加载方法、设备、装置、存储介质及程序产品
CN115022454B (zh) * 2022-06-24 2024-02-02 中国平安财产保险股份有限公司 一种安卓端返回操作方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109740090A (zh) 一种基于混合开发的android页面返回跳转方法及其系统
CN103414824B (zh) 一种基于移动终端的自动登录处理方法及系统
CN102841789B (zh) 一种对浏览器中的用户操作进行录制和回放的方法和装置
CN101938568B (zh) 一种信息定位方法、系统及移动终端
CN104426944B (zh) 信息反馈方法、装置及终端
CN103164229A (zh) 一种清理移动终端进程的方法及装置
CN103812990B (zh) 终端设备及其控制方法
JP2008508597A (ja) ヘルプユーティリティアプリケーションプログラム
CN103064782A (zh) 一种获取控件的方法及装置
US11140182B2 (en) Predictive anomaly handling in a service provider system
CN109213667A (zh) 一种Android系统的异常处理方法及电子设备
CN110399576B (zh) 页面切换方法、装置、可读介质及电子设备
CN109271223A (zh) 窗口切换方法、装置、终端及计算机可读存储介质
CN104572075B (zh) 智能终端信息显示方法及智能终端
CN108984255B (zh) 一种远程协助方法及相关设备
CN106095065A (zh) 一种模式切换方法及装置
CN106650430A (zh) 一种基于移动终端的应用程序状态锁定控制方法及系统
CN103533153A (zh) 基于移动终端的揺一揺呼救机制
CN109634604A (zh) 基于混合开发的iOS页面跳转方法及其系统
CN105933497A (zh) 一种多模式的来电拦截方法与装置
CN104808933B (zh) 智能终端的解锁控制方法和装置
CN108089970A (zh) 预测剩余电量可使用时间的方法、终端及存储介质
US20120278078A1 (en) Input and displayed information definition based on automatic speech recognition during a communication session
CN105302702A (zh) 终端性能的检测方法及装置
CN109885356A (zh) ADB调试端口开启方法、装置、Android设备及可读存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190510

RJ01 Rejection of invention patent application after publication