2012-01-21 36 views
5

我希望人们能够通过URL启动本地AIR应用程序。我的AIR应用程序会读取它的一些参数并打开到正确的状态。通过URL打开本机AIR应用程序?

因此,用例会被某人浏览我们的网站,然后点击一个链接,它会打开本地桌面应用程序以查看与其链接相关的正确内容。

我知道iTunes会这样做,其他应用程序也支持它。

我知道AIR(非本地)安装程序也支持这一点。

我不知道我是否可以使用本机AIR应用程序(.exe或.dmg安装)执行此操作。

编辑:这是用于桌面。

回答

4

好所以这就是你如何做到这一点的桌面应用程序。

所有应用程序描述符文件 - 首先设置allowBrowserInvocation设置为true: 真 (http://livedocs.adobe.com/flex/3/html/help.html?content=File_formats_1.html#1043413)

-The应用程序必须听在的BrowserInvokeEvent开始 ,然后你可以使用传递给应用程序这样的论点:

public function onInvokeEvent(invocation:InvokeEvent):void 
{ 
    arguments = invocation.arguments; 
    currentDir = invocation.currentDirectory; 
} 

- 你只能从SWF启动AIR应用程序。浏览器中的SWF文件可以通过调用从http://airdownload.adobe.com/air/browserapi/air.swf加载的air.swf文件中的launchApplication()方法来启动AIR应用程序。加载air.swf文件后,SWF文件可以调用air.swf文件的launchApplication()方法,如下面的代码:

var appID:String = "com.example.air.myTestApplication"; 
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; 
var arguments:Array = ["launchFromBrowser"]; // Optional 
airSWF.launchApplication(appID, pubID, arguments); 

欲了解更多信息 http://livedocs.adobe.com/flex/3/html/help.html?content=app_launch_1.html#1038008

希望它能帮助。

5

的iPhone,你应该使用的URL的方案 http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

为Android应编辑的AndroidManifest.xml这样

<activity android:name=".MyUriActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:scheme="myapp" android:host="path" /> 
    </intent-filter> 
    </activity> 

您可以在这里找到更多的答案 How to implement my very own URI scheme on Android

+0

谢谢,这是用于桌面。我编辑我的问题更清楚。感谢您花时间回复。 – Nate

+0

但是,我在寻找这个电话的移动版本,这要感谢我。 – Cletrix

0

完成时注册BrowserInvokeEvent, NativeApplication.nativeApplication.addEventListener(BrowserInvokeEvent.BROWSER_INVOKE,onBrowserInvoke);

然后定义,

保护的函数onBrowserInvoke(事件:的BrowserInvokeEvent):无效 { 参数= event.arguments; }

相关问题