I\'d like people to have the ability to launch a Native AIR app via URL. My AIR app would read some parameters on it and open to the correct state.
So the use case w
Register BrowserInvokeEvent on completion, NativeApplication.nativeApplication.addEventListener(BrowserInvokeEvent.BROWSER_INVOKE,onBrowserInvoke);
then define,
protected function onBrowserInvoke(event:BrowserInvokeEvent):void { arguments = event.arguments; }
for iphone you should use an Url-scheme http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
for android you should edit the AndroidManifest.xml like this
<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>
You can find more answers here How to implement my very own URI scheme on Android
Ok so this is how you do that for desktop applications.
-First of all in the application descriptor file set allowBrowserInvocation to true: true (http://livedocs.adobe.com/flex/3/html/help.html?content=File_formats_1.html#1043413)
-The application must listen to BrowserInvokeEvent at the start and then you can use the arguments passed to the application like this:
public function onInvokeEvent(invocation:InvokeEvent):void
{
arguments = invocation.arguments;
currentDir = invocation.currentDirectory;
}
-You can launch an AIR APP only from an SWF. A SWF file in the browser can launch an AIR application by calling the launchApplication() method in the air.swf file loaded from http://airdownload.adobe.com/air/browserapi/air.swf Once the air.swf file is loaded, the SWF file can call the air.swf file's launchApplication() method, as in the following code:
var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.launchApplication(appID, pubID, arguments);
For more informations http://livedocs.adobe.com/flex/3/html/help.html?content=app_launch_1.html#1038008
Hope it helps.