一、Android和H5混合开发中双击手机返回键退出APP的问题1.项目场景:(1)在APP中执行一系列操作后,点击返回键一直只会返回,双击返回也会执行返回界面的操作。如何实现双击返回键退出应用的操作?(2)App中有几个顶层界面,==要求是点击后退按钮提示再次点击退出当前APP==,不处理会遇到:一直返回,最后回到登录界面。2、处理思路:(1)Androidwebview与js(vue)进行交互,然后Android接受一个特定的接口返回值来判断是否退出当前APP。或者回到之前的路线。具体实现可以参考这篇博客(2)因为在使用第一种思路的时候,实现的并不完善。我不知道我是否犯了错误。看了半天,终于放弃了。最终我跟公司的Android开发采用了下面这种方式来实现,思路如下:因为顶级页面的路由是固定的,所以我们获取Android中当前的界面路由,截取关键字段,判断是否它等于顶层接口的路由字段。一个界面路由,相等时给出提示,然后连续点击退出APP。暂时在使用过程中没有发现任何问题。如果您在使用过程中有更好的解决方法和问题,欢迎在下方评论。/***主页五个接口URL最后一个字符*/privateListstrList=newArrayList<>(Arrays.asList("/chatlist","/friends","/shop","/cart","/my"));@OverridepublicvoidonBackPressed(){//super.onBackPressed();Stringjs="appgoback()";webView.evaluateJavascript(js,newValueCallback(){@OverridepublicvoidonReceiveValue(Stringvalue){longcurrentTime=System.currentTimeMillis();Stringurl=webView.getUrl();StringendUrl=url.substring(url.lastIndexOf("/"));//判断返回首页,退出界面if(strList.contains(endUrl)){if((currentTime-touchTime)>=waitTime){//让显示时间Toast的等待时间与等待时间相同Toast.makeText(getApplicationContext(),"Pressagaintoexit",(int)waitTime).show();touchTime=currentTime;}else{finish();}return;}d("值:"+值);如果(value.equals("0")){d("true","equal");如果(webView.canGoBack()){webView.goBack();}else{moveTaskToBack(true);}返回;}结束();}});}