所以我创建了一个保存为自定义文件类型的Air应用程序。我在发布应用程序时设置了文件关联,当您双击文件时,它会打开应用程序。检测应用程序是否已通过文件打开的钩子是什么?显然,我需要检测这个,然后让应用程序打开文件本身。Adobe Air - 用空气打开文件
4
A
回答
4
听InvokeEvent将举行到请求的arguments
属性的文件名:
快速MXML例如:
<?xml version="1.0"?>
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:s="spark.components.*"
invoke="onAppInvoke(event);">
<mx:Script><![CDATA[
import mx.controls.Alert;
private function onAppInvoke(event:InvokeEvent):void {
if (event.arguments.length>0) {
// ok app call with an arguments
var fileName:String=event.arguments[0];
Alert.show("app open with : "+fileName);
} else {
// app open normally
Alert.show("normal launch");
}
}
]]></mx:Script>
</mx:WindowedApplication>
5
请收听WindowedApplication或其nativeApplication的invoke
事件。它有一个arguments数组属性,用于存放在此调用期间传递的字符串参数。
NativeApplication
AIR应用程序的对象在调用应用程序时调度invoke
事件。
NativeApplication
对象总是在启动应用程序时调度一个invoke事件,但该事件也可能在其他时间调度。例如,当用户激活与应用程序关联的文件时,正在运行的应用程序会分派额外的InvokeEvent
。只能启动特定应用程序的单个实例。随后尝试启动应用程序将导致运行实例的
NativeApplication
对象分派新的invoke事件。应用程序有责任处理此事件并采取适当的措施,例如打开新的应用程序窗口以在文件中显示数据。
InvokeEvent
对象由NativeApplication
对象(NativeApplication.nativeApplication
)调度。要接收调用事件,请调用NativeApplication
对象的addEventListener()
方法。当一个事件监听器注册一个调用事件时,它也会收到注册之前发生的所有invoke
事件。这些早期事件在addEventListener()
返回后调度,但不一定在可能在注册后分派的新调用事件之前发送。因此,您不应该依赖调度顺序。
<mx:WindowedApplication creationComplete="init()">
<mx:Script>
<![CDATA[
public function init():void
{
NativeApplication.nativeApplication.addEventListener(InvokeEvent.Invoke, onInvoke);
}
public function onInvoke(e:InvokeEvent):void
{
var args:Array = e.arguments;
trace("There are " + args.length + " arguments");
for(var i:int = 0; i < args.length; i++)
{
trace("Argument #" + i + " " + args[i]);
}
}
]]>
</mx:Script>
</mx:WindowedApplication>
相关问题
- 1. Adobe Flex空气文件预览
- 2. Adobe AIR readLine
- 3. Adobe Air - window.nativeWindow undefined
- 4. Adobe Air 1.5.2和Flash Builder
- 5. Adobe Air Browser
- 6. Adobe Air - Analytics
- 7. Adobe Air for iPhone
- 8. localToGlobal Adobe AIR
- 9. Adobe AIR打开另一个AIR应用程序
- 10. Adobe空气的addEventListener不登记
- 11. Adobe Air问题/资源
- 12. Adobe air http auth
- 13. Adobe空气 - 图标文件丢失错误
- 14. Adobe AIR截图
- 15. Adobe Air with Iphone
- 16. Adobe AIR锁定
- 17. Adobe Air Javascript API
- 18. Adobe Air新项目
- 19. IBM MobileFirst Adobe Air错误
- 20. Adobe Air iOS应用 - 空白屏幕
- 21. Adobe Air的DeviceOrientationEvent
- 22. Adobe AIR HTML组件 - socket.io
- 23. Adobe Air与CMD沟通
- 24. Adobe Flash - 空气应用程序 - Webview
- 25. Adobe Air和PHP
- 26. Adobe Air和Dropbox
- 27. Adobe Air和.NET
- 28. Adobe AIR&PHP + MySQL
- 29. Adobe AIR nativeProcess支持配置文件
- 30. Adobe AIR的SWF文件错误
谢谢,这正是我一直在寻找的。 – hamishtaplin 2010-09-03 10:00:57