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

本文介绍在Android应用中实现用户登录前拦截并引导至登录界面的方法。通过两种方式实现:一是利用Intent传递完成界面间的跳转及结果反馈;二是直接在源界面判断登录状态并作出相应跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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携带)。

原文地址http://www.bieryun.com/2577.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值