Приложение, над которым я работаю, представляет собой приложение HTML AIR на основе пакета AIR 2.5 SDK.
Приложение запускает два окна: первое - это скрытое окно, которое регистрирует себя в системном трее (это зависит от конкретного окна); второе - видимое облегченное окно, отображающее различные биты информации. Поскольку видимое окно легкое, на панели задач нет записи, чтобы пользователь всегда переносил окно на передний план, если оно скрыто под другими окнами приложения.
Требуется, чтобы при щелчке на значке в системном трее окно дисплея отображалось спереди.
Мое текущее решение выглядит примерно так:
function handleClick(){
var nativeDisplayWindow = findDisplayWindow();
nativeDisplayWindow.alwaysInFront = true;
nativeDisplayWindow.alwaysInFront = false;
}
function findDisplayWindow(){
// looks in air.NativeApplication.nativeApplication.openedWindows for the
// the display window and returns it
}
Это работает, но на самом деле не чувствует себя хорошо.
Я пытался использовать NativeWindow.orderToFront()
& NativeWindow.activate()
и различные комбинации всех других методов.
Является ли это правильным способом вывести окно на передний план всех окон приложений в AIR?