Требуется мое настольное приложение Adobe Air, чтобы значок на панели задач мигал

У меня есть созданное во Flash CS5 очень простое приложение Adobe Air Desktop. Приложение представляет собой небольшое окно размером 400 x 200 с динамическим текстовым полем, которое загружает файл «.txt», находящийся в Интернете, с помощью URLRequest. Приложение проверяет наличие нового файла через установленные интервалы, прямо сейчас каждые 5 минут.

Мне нужно найти способ заставить приложение мигать значком на панели задач или мигать кнопкой в ​​самом приложении, когда загружен «НОВЫЙ» файл, глядя на метку времени / даты файла «.txt». не только когда он снова загружает файл.

Заранее извиняюсь, я новичок в Adobe Air и Flash Actionscript 3.0


person Brian Haugen    schedule 14.01.2013    source источник


Ответы (1)


Для настольных (не мобильных) приложений AIR вы можете использовать nofityUser.

Пример:

import flash.desktop.NotificationType;
import flash.events.MouseEvent;

function notifyMe(aNotificationType:String):void
{
    if(NativeWindow.supportsNotification)
    {
        stage.nativeWindow.notifyUser(aNotificationType);
    }
    else
    {
        trace("Notification not supported on this OS");
    }
}

function onStageClicked(e:MouseEvent):void
{
    // You could also pass NotificationType.CRITICAL here
    notifyMe(NotificationType.INFORMATIONAL);
}
stage.addEventListener(MouseEvent.CLICK, onStageClicked);
person T Graham    schedule 15.01.2013
comment
это не событие мыши, которое я ищу :) это когда файл .txt обновляется. - person Brian Haugen; 15.01.2013
comment
Могу я что-нибудь сделать с URLRequest. установите для него использование кэша, если файл не был изменен, а затем уведомите значок приложения или системы на панели задач. - person Brian Haugen; 15.01.2013
comment
var loader: URLLoader = new URLLoader (новый URLRequest (my_text_file.txt)); loader.addEventListener (Event.COMPLETE, completeHandler); Функция приложения completeHandler (событие: событие): void {var loadedText: URLLoader = URLLoader (event.target); myText_txt.htmlText = loadedText.data; } Это то, что у меня есть, чтобы загрузить текстовый файл - person Brian Haugen; 15.01.2013
comment
Я использовал MouseEvent, чтобы упростить пример - любое событие могло вызвать функцию notifyMe (). В коде, который вы добавили в комментарий, вы можете вызвать notifyMe () из completeHandler (). - person T Graham; 15.01.2013
comment
Еще один вопрос :) У меня есть приложение, которое уведомляет о загрузке файла. но теперь он уведомляет каждый раз, когда загружает файл. Он проверяет наличие нового файла каждые пять минут или в зависимости от того, что у меня установлено на таймере. Есть ли способ уведомить, только если файл новый? по метке времени файлов или что-то в этом роде - person Brian Haugen; 15.01.2013
comment
Это можно сделать, но вам, вероятно, следует задать об этом отдельный вопрос. Кроме того, вы с большей вероятностью получите ответ на другие вопросы, если отметите хороший ответ как принятый. - person T Graham; 15.01.2013
comment
Я сделаю это, я новичок на этом сайте и не знаю, как отметить ответ как принятый :) еще раз спасибо - person Brian Haugen; 15.01.2013
comment
Нет проблем (я не имел в виду критику). Новички на сайте часто задают вопросы и никогда не принимают ответа. В результате их новые вопросы обычно игнорируются. Очки репутации - это валюта этого сайта, и принятие ответа похоже на чаевые официанту / официантке :-) В любом случае, чтобы принять правильный / полезный ответ, просто нажмите кнопку с галочкой слева от ответа. Кнопки с флажками появляются только в вопросах, которые вы задаете, а не в вопросах от других людей. См. stackoverflow.com/faq#howtoask для получения дополнительной информации. - person T Graham; 15.01.2013