强制logout,关闭所有Activity。

做项目的时候,遇到需要在收到服务器消息的时候强制将当前App logout,然后只显示登录界面。

可以在HomeActivity中注册broadcast,当收到消息时。通过下面代码实现。


            Intent i = new Intent(MochaMainActivity.this, LoginActivity.class);
            i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
                    Intent.FLAG_ACTIVITY_CLEAR_TASK |
                    Intent.FLAG_ACTIVITY_NEW_TASK);
            MochaMainActivity.this.startActivity(i);


一. 功能说明: 有些过时的网页版系统可能会点开好几个页面, 当点击其中一个页面的Logout时, 所有打开的网页都需要关闭. 在下思维比较愚笨, 想到了两个笨方法. 1. 监听第一个打开的页面rootpage. 当点击Logout时, 把rootpage中的Logout设置为true, 所有的子页面监听到以后就会关闭. rootpage转到登陆页面或关闭. 2. 监听本页面Cookie. Logout时一般都会清除Cookie, 当清除Cookie后, 每个页面都会监听到, 然后关闭. rootpage转到登陆页面或关闭. 肯定有更好的方法, 欢迎批评指正. 邮箱:lei_xu@163.com logout1.js, 和logout2.js 二. 测试环境: OS: Win7 浏览器: IE10, FF,Chrome logout1Test: 测试logout1.js logout2Test: 测试logout2.js 三. 使用方法 1. logout1: 1).每个页面都要引用logout1.js 2).调用logout(msg, cookiesName, forwardUrl) 这个方法, 参数: msg: 弹出的确认信息, 可以为空. 若不传确认信息, 则直接退出 cookiesName: 需要清理的Cookie的Name, 是个数组. 可以为空 forwardUrl: 首先打开的那个页面要转向的页面地址, 可以为空. 若为空则全部都退出 例如: <html> <head> <title>this is just an example!</title> <script src="logout1.js"></script> </head> <body> <input type="button" onclick="logout('Close all the windows?',['appName','secToken'],'about:blank')" />" </body> </html> 2. logout2: 1). 每个页面都要引用logout2.js 2). window.logoutCookies = []; 需要将文件中的这一段加上你要清理的cookie Name. 3). 调用 logout(msg,forwardUrl). 说明见1 例如: <html> <head> <title>this is just an example!</title> <script src="logout1.js"></script> </head> <body> <input type="button" onclick="logout('Close all the windows?','about:blank')" />" </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值