Получить активные флаги в окне Android

Можно ли программно определить, какие флаги в данный момент активны в окне?

Мы можем включать флаги с:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

Помогает ли api получить список активных флагов? Благодаря

Ответ 1

Вы можете использовать:

int flags = getWindow().getAttributes().flags;

Вы можете увидеть, как он используется при реализации Window.setFlags():

public void setFlags(int flags, int mask) {
    final WindowManager.LayoutParams attrs = getAttributes();
    attrs.flags = (attrs.flags&~mask) | (flags&mask);
    ...

Чтобы определить, установлены ли отдельные флаги, вы должны использовать поразрядные и. Например:

if ((flags & WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) != 0) ...