通过URL打开Native AIR应用程序?

Nat*_*ate 5 air

我希望人们能够通过URL启动Native AIR应用程序.我的AIR应用程序会在其上读取一些参数并打开到正确的状态.

因此,用例将是某人浏览我们的网站,然后点击链接,它将打开本机桌面应用程序到与其链接相关联的正确内容.

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

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

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

编辑:这是桌面.

Bol*_*lza 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>
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到更多答案 如何在Android上实现我自己的URI方案


Bol*_*lza 5

好的,这就是您对桌面应用程序执行此操作的方式。

-首先在应用程序描述符文件中设置allowBrowserInvocation为true: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;
}
Run Code Online (Sandbox Code Playgroud)

- 您只能从 SWF 启动 AIR 应用程序。在浏览器中的SWF文件可以通过调用在从加载的air.swf文件的launchApplication()方法启动AIR应用http://airdownload.adobe.com/air/browserapi/air.swf 一旦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);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请访问 http://livedocs.adobe.com/flex/3/html/help.html?content=app_launch_1.html#1038008

希望能帮助到你。