Android 记录,自己在解决需求的时候用到的方法记录一下。
最近在做安全测试,有个需求是要每次按home键使软件进入后台的时候,再次点击图标进入软件的时候每次都要先进入登录界面(启动页)验证登录信息。
android:launchMode="singleTask"
只要在Manifest里把登录界面的启动模式改为singleTask就可以。
本来到这里就解决需求了,但是在解决的过程中发现了另外一个问题,就是既然可以每次都进入启动页,可不可以取消每次都进入启动页呢?(我敢肯定会有这么一个需求)你可能会说你把你刚才加的那句话去掉不就可以了么,真有这么简单么,有的时候可没这么简单。网上的小伙伴可都是遇到了各种而样的问题。
我一开始问群里的小伙伴,给出的答案是这个
在onCreate()方法里面添加以下代码
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
那位小伙伴对以上代码的解释是这样说的,第一次安装后进入app,home后点击图标启动,会重新实例化app。
我之后搜索相关内容的时候也刚好看到一篇文章
他这里面介绍的就是这个问题的解决方法。