如何结合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]中的按位运算,没有特殊的字符,只是可以以中缀形式被调用的命名函数。
资源
这里列出了Int
和Long
的所有按位操作
-
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