如何结合Kotlin中的Intent标志

我想结合两个intent标志,就像我们在android中做的那样

Intent intent = new Intent(this, MapsActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); 

我试图做这样的事情,但它不适合我

 val intent = Intent(context, MapActivity::class.java) intent.flags = (Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK) 

说明:

应用于标志的操作是按位或。 在Java中你有| 为此的运营商。

对于[Kotlin]中的按位运算,没有特殊的字符,只是可以以中缀形式被调用的命名函数。

资源

这里列出了IntLong的所有按位操作

  • shl(bits) – 左移签名(Java的<<
  • shr(bits) – 签名右移(Java的>>
  • ushr(bits) – 无符号右移(Java's >>>
  • and(bits) – 按位和(Java's &
  • or(bits) – 按位或(Java's |
  • xor(bits) – 按位异或(Java's ^
  • inv() – 按位反转(Java的~

解:

所以,在你的情况下,你只需要调用or在你的论点之间这样的。

 intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK 

尝试如下所示:

 val intent = Intent(this, MapsActivity::class.java) intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK