通过URL打开本机AIR应用程序?

通过URL打开本机AIR应用程序?,air,Air,我希望人们能够通过URL启动本地AIR应用程序。我的AIR应用程序会读取上面的一些参数,并打开到正确的状态 因此,用例是有人浏览我们的网站,然后点击一个链接,它会打开本机桌面应用程序,找到与他们的链接相关的正确内容 我知道iTunes可以做到这一点,其他应用程序也支持这一点 我知道AIR(非本地)安装程序也支持这一点 我不知道是否可以使用本机AIR应用程序(.exe或.dmg安装)来完成此操作 编辑:这是针对桌面的。对于iphone,您应该使用Url方案 对于android,您应该像这样编辑A

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

因此,用例是有人浏览我们的网站,然后点击一个链接,它会打开本机桌面应用程序,找到与他们的链接相关的正确内容

我知道iTunes可以做到这一点,其他应用程序也支持这一点

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

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


编辑:这是针对桌面的。

对于iphone,您应该使用Url方案

对于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>

好的,这就是桌面应用程序的实现方式

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

-应用程序必须在开始时侦听BrowserInvokeEvent 然后您可以使用传递给应用程序的参数,如下所示:

public function onInvokeEvent(invocation:InvokeEvent):void 
{
    arguments = invocation.arguments;
    currentDir = invocation.currentDirectory;
}
-您只能从SWF启动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);
更多信息


希望有帮助。

完成后注册BrowserInvokeEvent, NativeApplication.NativeApplication.addEventListener(BrowserInvokeEvent.BROWSER\u INVOKE,onBrowserInvoke)

然后定义

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

谢谢,不过这是给桌面的。我编辑了我的问题以便更清楚。感谢您花时间回复。