Android原生应用启动并传递参数给AIR应用

使用Android运行AIR应用时,有时需要用Android启动AIR应用并传递参数给它。Android传递参数一般使用Intent
Intent i = new Intent(Intent.ACTION_VIEW, "http://baidu.com");
startActivity(i);
但是如何使用这种方法来启动AIR应用呢?
  1. 首先需要在AIR应用的-app.xml文件里面的android标签内加上intent-filter
    <android>
    <manifestAdditions><![CDATA[
        <manifest android:installLocation="auto">
    
            <uses-permission android:name="android.permission.INTERNET"/>
    
            <application android:enabled="true">
                <activity android:name=".AppEntry">
                    <intent-filter>
                        <action android:name="android.intent.action.VIEW" />
                        <category android:name="android.intent.category.BROWSABLE"/> 
                        <category android:name="android.intent.category.DEFAULT"/> 
                        <data android:scheme="hyq"/> 
                    </intent-filter>
                </activity>
            </application>
        </manifest>
    
    ]]>
    </manifestAdditions>
    </android>
    
  2. 在Android中写入调用AIR的代码 Intent i = new Intent(Intent.ACTION_VIEW, "hyq:param1,param2"); startActivity(i);
  3. 在AIR程序中接受参数
    NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
    ......
    protected function onInvoke(event:InvokeEvent):void
    {
            trace(event.arguments);// 这里的event.arguments是[“hyq:param1,param2”]
    }
    
4.解析并处理参数

Published: October 29 2012