I want to combine two intent flags as we do bellow in android
Intent intent = new Intent(this, MapsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
I tried doing something like this but it didn't work for me
val intent = Intent(context, MapActivity::class.java)
intent.flags = (Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK)
Explanation:
The operation that is applied to the flags is a bitwise or. In Java you have the |
operator for that.
As of bitwise operations [in Kotlin], there're no special characters for them, but just named functions that can be called in infix form.
Here a list of all bitwise operations for Int
and Long
shl(bits)
– signed shift left (Java's <<
)shr(bits)
– signed shift right (Java's >>
)ushr(bits)
– unsigned shift right (Java's >>>
)and(bits)
– bitwise and (Java's &
)or(bits)
– bitwise or (Java's |
)xor(bits)
– bitwise xor (Java's ^
)inv()
– bitwise inversion (Java's ~
)Solution:
So, in your case you only need to call or
in between your arguments like so.
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK