将多个标志传递给android中的intent

lan*_*cex 15 android android-intent

我有这个活动列出了一些我提供刷新按钮的信息.我刷新它的方式(可能不是最好的方法)只是重新启动活动.为了使后台堆栈以我需要的方式工作,我需要将FLAG_ACTIVITY_CLEAR_TOP标志传递给intent并且它工作正常.但是为了给出一种错觉,即信息正在刷新活动中的信息而不是完全重新启动它,我还需要添加标志FLAG_ACTIVITY_NO_ANIMATION.到目前为止,我还没有能够让这两个标志一起工作.我尝试了以下方法:

theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION+Intent.FLAG_ACTIVITY_CLEAR_TOP);
theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION|Intent.FLAG_ACTIVITY_CLEAR_TOP);

theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
theIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)

清除顶部适用于所有这些,但动画仍然存在.任何帮助将不胜感激.

jee*_*eet 48

使用operator | 设置多个标志

theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION|Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)


SAR*_*ose 15

对于那些可能在Kotlin制作Android应用程序的人

coolIntent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
Run Code Online (Sandbox Code Playgroud)


TNR*_*TNR 7

使用,addFlags()以便您可以向Intent添加多个Flags.

i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)