Как получить окно (например, диалог, всплывающее меню ...) - PullRequest
0 голосов
/ 28 мая 2019

Я работаю над библиотекой, и она должна выяснить, есть ли на экране окно неактивности (например, dialog, popupmenu ....).Я пробовал это ...

((Activity)context).getWindow()

, но оно всегда возвращает главное окно активности, а не то, что я хочу.

Есть ли способ вывести Window на экран или активировать?

Ответы [ 3 ]

0 голосов
/ 28 мая 2019

Вы должны указать желаемую активность вместо (Активность).

Как это;

((Activity)context).getWindow()

до

((YouWantActivity)context).getWindow()

может быть, «контекст» можно изменить (на: «это» или stg.)

0 голосов
/ 28 мая 2019

Вы можете использовать instanceof, чтобы проверить, является ли context Activity, а затем вызвать context.getWindow ()

if(context instanceof Activity)
{
  Window window = ((Activity)context).getWindow();
}

Примечание: Activity и Dialog используют одно и то же окно, поэтому при вызове getWindow в диалоговом окне возвращается тот же объект.

0 голосов
/ 28 мая 2019

Ваш код получает окно действия, потому что вы вызываете метод getWindow() для объекта действия.

Вместо ((Activity)context).getWindow() Попробуйте dialog.getWindow()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...