Anandroid studio 与JS(H5)返回多层返回

之前返回键失灵了,坑哭了 真的 一下午的时候搞出来了,所以记录一下也顺便分享给大家,当时真的怪自己粗心大意了各种的找bug后来解决就是在判断的时候条件的地方,不仅要判断链接还要 &&webView.canGoBack() 这一下bug就解决了。。。恕我学疏才浅

第一步:声明:
String webViewUrl;
第二步:在上一个页面跳转的时候获取这个链接
webViewUrl = getIntent().getStringExtra(“URL”);

我在跳转链接的时候的写法:

String name = getVipOnes.getUserName();
                    if(getVipOnes.getUserName()==null){
                        name ="亚热贷用户";
                    }
    Intent intentHelp = new Intent(ruleVImp.context, WebActivity.class);
                        intentHelp.putExtra(WebActivity.URL, (Urls.ranking_wb() + "&" + "userName=" +name+ "&" + "userHead=" + getVipOnes.getUserHead()));
                        intentHelp.putExtra(WebActivity.TITLE, "分享有礼");
                        intentHelp.putExtra("123", "123");
                        intentHelp.putExtra("URL", (Urls.ranking_wb() + "&" + "userName=" +name+ "&" + "userHead=" + getVipOnes.getUserHead()));
                        startActivity(intentHelp);

第三步:在返回方法里面写个事页面自己写的返回

@Override
public void back(View view) {
    //判断是否两级页面,如果是两级 返回
    Log.i("webViewUrl:", webView.getUrl());
    Log.i("webViewUrl:", webViewUrl);

    if (!webViewUrl.equals(webView.getUrl())&& webView.canGoBack()) {
        webView.goBack();
    } else {
        closeActivity();
    }
}

返回键的返回方法 也就是手机上的返回键 (根据情况来定)

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //先拼出intent传进来的url的完整url  
//打印 按下后退键时,webview的url是什么  
        Log.i("webViewUrl:", webView.getUrl());
        Log.i("webViewUrl:", webViewUrl);
//多加一个判断 如果当前url和intent传进来的url是相等的 取反->走closeActivity()  
        if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack() && !webViewUrl.equals(webView
                .getUrl())) {
            webView.goBack();
            return true;
        } else {
            closeActivity();
            return super.onKeyDown(keyCode, event);
        }
    }

第四步:写好关闭方法

 private void closeActivity() {
        if (webView != null) {
            final ViewGroup viewGroup = (ViewGroup) webView.getParent();
            if (viewGroup != null) {
                viewGroup.removeView(webView);
            }
            webView.destroy();
        }
        finish();
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值