Android退出登录总结
目标:完成Android版APP应用的退出登录
思路:将多个开启的Acitivity存放在List中,打开一个addList,关闭一个removeList,创建公用APPCompatActivity基类(在基类中完成活动add和remove,以及广播接收器的注册和取消),在点击“退出登录”按钮时,关闭所有开启的Activity,最后再启动LoginActivity.
下面是代码:
1,活动列表控制类
public class ActivityCollector {private ActivityCollector() {}private static List<Activity> actList = new ArrayList<>();public static void addActivity(Activity act) {actList.add(act);}public static void removeActivity(Activity act) {actList.remove(act);}public static void finishAll() {for (Activity act : actList) {if (!act.isFinishing()) {act.finish();}}}
}
2,AppCompatActivity的公共基类
public class BaseCompatActivity extends AppCompatActivity {protected LoginOutBroadcastReceiver locallReceiver;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 创建活动时,将其加入管理器中ActivityCollector.addActivity(this);}@Overrideprotected void onResume() {super.onResume();// 注册广播接收器IntentFilter intentFilter = new IntentFilter();intentFilter.addAction("com.gesoft.admin.loginout");locallReceiver = new LoginOutBroadcastReceiver();registerReceiver(locallReceiver, intentFilter);}@Overrideprotected void onPause() {super.onPause();// 取消注册广播接收器unregisterReceiver(locallReceiver);}@Overrideprotected void onDestroy() {super.onDestroy();// 销毁活动时,将其从管理器中移除ActivityCollector.removeActivity(this);}
}
3,退出接收器的实现
public class LoginOutBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {ActivityCollector.finishAll(); // 销毁所有活动Intent intent1 = new Intent(context, MainActivity.class);context.startActivity(intent1);}
}
4,退出按钮
/*** 退出登录*/private void loginOut() {Intent intent = new Intent("com.gesoft.admin.loginout");sendBroadcast(intent);}
Android退出登录总结相关推荐
- Android 退出登录后回到登录页并清空原有的任务栈
前言 最近被安排任务 需要开发一个平板业务app 在写到退出登录的时候 业务需求需要回到登录页并附带账号 这个业务比较简单 主要是 回到登录页并清空原有的任务栈 查阅谷歌官方文档 Intent.FLA ...
- android 退出登录通知到每个界面,文档中心 | QuickSDK——专业的手游第三方SDK接入服务平台,渠道SDK聚合,广告跟踪,客服,登录充值SDK...
1.接入前项目检查(必接) 根据游戏接入后出现的问题,QuickSDK对游戏项目做以下几点要求: · AndroidManifest.xml中android:targetSdkVersion=&quo ...
- android 退出登录
Intent intent2 = new Intent(this, LoginActivity.class); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TA ...
- android 点击退出账号,Android应用退出登录的实现方法
每一个app都会有一个"退出登陆"的功能,当点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清除掉,但是没有找到方法,后来用广播实现了 ...
- 【Android项目实战 | 从零开始写app(十三)】实现用户中心模块清除token退出登录信息修改等功能
五一后,被ji金伤了,哇呜呜,还是得苦逼老老实实打工写代码,看下面吧 本篇实现效果: 实现登录用户名展示到用户中心页面上,并且页面有个人信息,订单列表,修改密码,意见反馈发送到服务端,前面登录后,通过 ...
- android 点击退出账号,安卓退出登录功能
退出登录功能基本上每个app都需要用到的我这里介绍一种使用广播退出登录 1.在退出登录的页面上发送一个广播 Intent intent =new Intent(); intent.setAction( ...
- Android SharedPreferences登录记住密码
SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单 数据类型(boolean.int.float.long和S ...
- php换设备登录逻辑,登录和退出登录的操作逻辑
登录功能的操作逻辑步骤如下:可以分为五个步骤来实现. 1.进入页面先判断用户是否已经登录 private void isLogin() { //查看本地是否有用户的登录信息 SharedPrefere ...
- UserInfoActivity用户图像修改和退出登录
@OnClick(R.id.btn_user_logout) public void logout(View view){//"退出登录"button的回调方法//1.将保存在sp ...
- 微软edge如何退出登录_Microsoft Edge:评论
微软edge如何退出登录 Microsoft has been doing the right things for several years. They engage with the commu ...
最新文章
- RSocket:又一个REST的挑战者
- RE validation in Java EE
- 什么是透明传输 点对多传输? 它们有哪些经典应用和优势特点
- 476 Number Complement
- java.lang.IllegalArgumentException: Could not resolve placeholder ‘stu.age‘ in value “${stu.age}
- 随想录(无均衡负载的smp os设计)
- 面向对象进阶(day7)
- PostgreSQL 11 preview - Faster partition pruning
- base64减少图片请求
- PostgreSQL数据保留窗口功能的使用
- 小米游戏本8代加装固态硬盘系统迁移
- javashop源码,javashop电商系统源码授权
- MAXON宣布任命高级领导人员
- 华为GaussDB数据库10个知识点,第7个你知道么?
- 电脑英语Computer English
- Stata 基础知识 1
- Google Earth Engine——从Python中的经纬度坐标获取Modis正弦图块网格位置
- C++ error C2059: 语法错误:“常数”
- 富芮坤蓝牙FR801xH开发环境搭建
- java72-GUL流式布局管理器
热门文章
- 美团杀熟?背后到底利用大数据做了些什么?
- 图像处理之LSB替换隐写算法的实现
- 恒凯USB数据采集卡在国产麒麟操作系统下的应用(二)Python环境设置及数据采集实验
- Android实现一个APP只能在一部手机上使用
- 快递行业面单打印解决方案-快宝云打印
- mysql 5.7 安装tokudb_安装Percona-Server-5.7.18+tokudb
- 华为电脑Linux进pe,华为笔记本(HuaWei)如何进入BIOS设置U盘启动?
- python制作日历_用Python制作一份你专属的爱豆日历
- 量化投资学习——行业轮动规律
- python查找excel中重复数据_python实现查找excel里某一列重复数据并且剔除后打印的方法...