ひよっこ。

I want to…

Posts Tagged ‘Adobe’

Adobe Air2でGrowlに通知を行う方法

Posted by hikaruworld : 2010 8月 3

ご存知の通りAdobeAir2.0からはいくつかの制限の上でOSのNativeProcessを呼び出す事が出来ます。
これが出来るとOSと色々出来るようになる訳ですが、
とりあえずMacユーザの自分としてはとりあえず思いつくのがGrowlです。
Macユーザにはおなじみのというデスクトップ通知アプリですね。

今回はこの連携が出来るかなーと思って試してみました。

1. Growl側の仕込み

GrowlにはCUIで利用できるインターフェイスとして、growlnotifyという拡張があります。
これを利用すれば

growlnotify -t "タイトル" -m "内容"

と言った形でGrowlに通知を渡す事が出来ます。

ただ、Growl本体インストール時にデフォルトではインストールされないので、
別途、Extras/growlnotify/growlnotify.pkgをインストールしてあげる必要があります。

このインストールをした場合/usr/local/bin/growlnotifyにインストールされます。

2. AdobeAir2からのGrowlをネイティブプロセスで呼び出し

特に変わった事はせず、ネイティブプロセスでgrowlnotifyを叩きます。
ミソとしては、

-a "Adobe AIR Application Installer"

と指定する事でアプリケーションアイコンが画像として設定されるようです(参考)。

以下、コードをコピペ。

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;
            private var nativeProcess:NativeProcess;
            protected function btn_clickHandler(event:MouseEvent):void
            {
                if (!NativeProcess.isSupported) {
                    Alert.show("native process cannot execute");
                    return;
                }
                var startupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
                var file:File = new File("/usr/local/bin/growlnotify");
                startupInfo.executable = file;

                var processArgs:Vector.<String> = new Vector.<String>();
                processArgs[0] = "-t";
                processArgs[1] = titleInput.text;
                processArgs[2] = "-m";
                processArgs[3] = descInput.text;
                processArgs[4] = "-a";
                processArgs[5] = "Adobe AIR Application Installer";
                startupInfo.arguments = processArgs;

                nativeProcess = new NativeProcess();
                nativeProcess.start(startupInfo);
            }

        ]]>
    </fx:Script>
    <s:Group>
        <s:layout>
            <s:VerticalLayout />
        </s:layout>
        <mx:Form>
            <mx:FormItem label="タイトル">
                <s:TextInput id="titleInput"/>
            </mx:FormItem>
            <mx:FormItem label="表示内容">
                <s:TextInput id="descInput"/>
            </mx:FormItem>
        </mx:Form>
    </s:Group>
    <s:Button id="btn" click="btn_clickHandler(event)" x="10" y="80" label="Growlに通知"/>
</s:WindowedApplication>

あ、当然ですが、application.xmlに

<supportedProfiles>extendedDesktop</supportedProfiles>

をお忘れなく。

ってやった後にここ
普通に紹介されててあらまという感じでしたがorz…。

以上です。

参考サイト

広告

Posted in program | タグ: , , | Leave a Comment »

Air2.0β版のruntimeがぶっ壊れた

Posted by hikaruworld : 2009 11月 20

Air2.0のβ版を触っていたんですが、とあるアプリケーションをインストールしようとしたらエラーに。

bfa表_The application could not be installed because the installer file is damaged. Try obtaining a new installer file from the application author.

なんだか、他のところでも発生している事を@shoitoに教えてもらいました。

回避策は、AdobeAirのruntimeの再インストールで発生しなくなりました。
…MacのUninstallerを探すのが大変でした。

ちなみに、FlashBuilderでデバッグしようとするとこんなエラーになります。

Error: Error #0
	at flash.filesystem::FileStream/close()
	at com.adobe.air.logging::FileTarget/write()[/Users/mesh/src/as3corelib/src/com/adobe/air/logging/FileTarget.as:86]
	at com.adobe.air.logging::FileTarget/http://www.adobe.com/2006/flex/mx/internal::internalLog()[/Users/mesh/src/as3corelib/src/com/adobe/air/logging/FileTarget.as:78]
	at mx.logging.targets::LineFormattedTarget/logEvent()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\logging\targets\LineFormattedTarget.as:163]
	at mx.logging::AbstractTarget/logHandler()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\logging\AbstractTarget.as:332]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.logging::LogLogger/info()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\logging\LogLogger.as:182]
	at net.fxug.hokuriku.chocolat.helper::SORAAIHelper/checkForUpdate()[/Users/morizou/Documents/Adobe Flash Builder Beta 2/soraai/src/net/fxug/hokuriku/chocolat/helper/SORAAIHelper.as:70]
	at net.fxug.hokuriku.chocolat.helper::SORAAIHelper/creationCompleteHandler()[/Users/morizou/Documents/Adobe Flash Builder Beta 2/soraai/src/net/fxug/hokuriku/chocolat/helper/SORAAIHelper.as:65]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9408]
	at mx.core::UIComponent/set initialized()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]
	at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8733]
	at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8673]

今回のAir2.0では、ネイティブアクセスが部分が強化されているので
何かしら影響が出てるのかもしませんね。

Posted in program | タグ: , | Leave a Comment »

AdobeDigitalEditionsをインストール中にresolving hostnameでエラーになる

Posted by hikaruworld : 2009 2月 26

AdobeDigitalEditionsというソフトがある。
俗に言うAdobeReaderの多機能版(限定機能版?どちらかわからんが)のようなものである。

基本的に、PDFを読むときは「読み物」として読むケースが多い。
ので、個人的には昔からこれを愛用しているのだが、
最近再インストールしようとしたらなぜかダウンロードに失敗してしまいインストールできなかった。

実際は、以下のようなエラーで落ちる
———————————————————————-
出力先フォルダ:C:\Program Files\Adobe\Adobe Digital Editions
digitaleditions_win.zip を C:\DOCUME~1\hoge\LOCALS~1\Temp にダウンロードする
ダウンロードが失敗しました : resolving hostname
———————————————————————-

しばらくAdobeReaderで我慢していたが、やっぱりDigitalEditionsが良くて何とかならないものか
調べていると、2009/2/2付けでAdobeのサポートに以下のようなSUPPORTがUPされていた。

Adobe Digital Editions installation fails in some proxy server networks

とりあえず、Adobe側も問題として認識はしてくれているようだ。
んで、解決策は?と思い、SOLUTIONを読んでみる。

Adobe is considering possible solutions for future releases of Adobe Digital Editions.

To work around this installation issue, download the standalone installer for Digital Editions from “Adobe Digital Editions does not install on Windows or Mac OS” (TechNote kb403051)

要するに、standalone installerを使えってことね(笑。
以下のURLの手順に従って、手動でexeファイルをダウンロードして、インストール完了。
http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403051&sliceId=1

どうでもいいが、なぜイチイチFlashのインターフェイス経由で落とさせているのか
ちょっと疑問に残った今日この頃である。

Posted in item | タグ: , , , | Leave a Comment »