Android中关于登陆拦截逻辑流程(Intent传递使用步骤)

问题:

我们在开发中经常遇到这样的需求,当前用户在A界面点击按钮想跳到C界面,但是该用户当前并未登陆账户,此时我们就想让用户在跳到C界面之前跳到B界面进行登陆操作,当登陆成功时候直接跳到C界面,整个思路流程如下图所示;

解决方式一:

使用Intent 传递:

A界面(MainActivity):

    //点击按钮相应的代码

     //使用 startActivityForResult 直接跳到C界面
     Intent intent = new Intent(MainActivity.this, CActivity.class);
     startActivityForResult(intent, 100);
      @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        //开启C的界面  RESULT_OK即代表已做登陆处理
        if (requestCode == 100 && resultCode == Activity.RESULT_OK) {
            Intent intent = new Intent(MainActivity.this, CActivity.class);
            intent.putExtra("isLoading", false);
            startActivity(intent);
        }

    }

C界面(CActivity)操作:

     //首先要判断是否处于登陆状态 如果未登陆则使用以下代码
        Intent intent = getIntent();
        //请求转发
        intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
        intent.setClass(CActivity.this, BActivity.class);
        startActivity(intent);
        //退出当前界面
        finish();

B界面(BActivity)操作:

       //进行登陆操作 成功后
         setResult(Activity.RESULT_OK);
         finish();

解决方式二:

我们当然也可以在A界面直接判断当前是否登陆,如果已经登陆那么直接跳转到C,如果未登陆那么跳转到B界面,再登陆,在登陆成功的条件下跳转到C界面(条件判断可以通过Intent携带)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值