Android打开界面时判断是否登录,未登录跳转登录界面,登录完成后直接跳转要打开的界面
来源:互联网 发布:学建筑学不下去知乎 编辑:程序博客网 时间:2024/06/08 00:26
跳转时调用的方法。
实现思路是未登录的话创建一个跳转到登录界面的ComponentName,替换掉Intent中原来的ComponentName,把要跳转的目标className取出来传递到登录界面。注意,这里只能替换Intent内的ComponentName,而不能重新创建一个新的Intent,因为运来的Intent可能是有需要传递的数据的,重新创建的话原来Intent内的数据会丢失。
public void startActivityAfterLogin(Intent intent) { //未登录(这里用自己的登录逻辑去判断是否未登录) if (!UserManager.getInstance().isLogin()) { ComponentName componentName = new ComponentName(getContext(), LoginActivity.class); intent.putExtra("className", intent.getComponent().getClassName()); intent.setComponent(componentName); super.startActivity(intent); } else { super.startActivity(intent); } }
登录界面的方法。
登录成功后调用此方法,用Class.forName将传过来的className转换成Class,跟上个跳转同理,不能创建新的Intent而是要用原来的Intent保证数据正确传递。
private void startActivity() { if (getIntent().getExtras() != null && getIntent().getExtras().getString("className") != null) { String className = getIntent().getExtras().getString("className"); getIntent().removeExtra("className"); if (className != null && !className.equals(getContext().getClass().getName())) { try { ComponentName componentName = new ComponentName(getContext(), Class.forName(className)); startActivity(getIntent().setComponent(componentName)); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } finish(); }
阅读全文
3 0
- Android打开界面时判断是否登录,未登录跳转登录界面,登录完成后直接跳转要打开的界面
- 登录完成后跳转到之前的界面
- 登陆后跳转登录前界面
- 3秒后跳转到登录界面
- MFC登录界面,跳转到功能界面
- 界面不能跳转登录界面并连接
- iOS 登录与注册的界面跳转
- 登录成功跳转回原来的界面
- login 跳转 到 tabbar 页面(登录界面的跳转)
- android 登录成功后再跳转到目标界面的思考
- session失效,如何跳转回登录界面
- iOS 如何跳转到登录界面
- session过期,iframe跳转出登录界面
- qt登录界面及窗口跳转
- 登录界面
- 登录界面
- 登录界面
- 登录界面
- springmvc spring mybatis 文件上传
- Android SharedPreferences 保存数据,读取其它应用的SharedPreferences
- HTTP简单介绍
- Cannot get Jedis connection; nested exception is java.lang.NullPointerException
- Siemens.Star-CCM+11.06.010-R8.Win64.&.Linux64 2DVD
- Android打开界面时判断是否登录,未登录跳转登录界面,登录完成后直接跳转要打开的界面
- Troubleshooting: "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! " (文档 ID 278316.1)
- but was actually of type 'com.sun.proxy.$Proxy**'的两种解决方法
- HashMap和Hashtable的区别
- RecycleView实现分组
- 以√n的复杂度求n的因子数.
- 剑指offer:二叉树的镜像
- Red and Black(DSF)
- 中国剩余定理(孙子定理)