2011-04-08 10 views
6

¿Cómo podemos pasar los parámetros de una Actividad Java al iniciar otra aplicación de tipo AIR?Pasar parámetros de una actividad java a la aplicación Adobe AIR

La forma en que hacemos para las actividades de Java es usar el extra de Intent. ¿Cuál es el mecanismo de paso de parámetros cuando se trata de la actividad de Java y la aplicación AIR en Android? Actualmente estamos pasando parámetros compartiendo un lugar común (sqlite db) y viéndolo cada segundo. Este no es un buen diseño y estoy seguro de que debe haber una buena forma de hacerlo. Por favor iluminame.

Respuesta

9

En Adobe AIR 2.5 puede pasar parámetros a la aplicación AIR utilizando URI personalizados.

Al usar esta función, una aplicación puede hacerse invokable desde el navegador o la aplicación nativa de Android. Cuando se invoca la aplicación desde el navegador/android-app, se envía un InvokeEvent a la aplicación. Para hacer una invocable aplicación de navegador, añadir esto en su descriptor de la aplicación (como hijo del elemento de aplicación):

<android> 
    <manifestAdditions> 
    <![CDATA[ 
     <manifest> 
      <application> 
       <activity> 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN"/> 
         <category android:name="android.intent.category.LAUNCHER"/> 
        </intent-filter> 
        <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="testapp"/> 
        </intent-filter> 
       </activity> 
      </application> 
     </manifest> 
    ]]> 
    </manifestAdditions> 
</android> 

Ahora para iniciar la aplicación desde el navegador, indique la URL como: testapp://. Un ejemplo es:

<a href="testapp://">click here to launch air test app from browser</a> 

hacer clic en este enlace abrirá su aplicación.

Si quiere pasar argumentos adicionales a su aplicación desde el navegador, usar algo como esto:

<a href="testapp://arg1=value&secondArgument=someValue">click here to launch air test app from browser</a> 

vez que su solicitud se puso en marcha, ir a buscar la propiedad de los argumentos recibidos InvokeEvent. Esto contendrá el URI completo (testapp://arg1=value&secondArgument=someValue) y puede analizarlo para extraer los argumentos.

De here.

3

Además de la respuesta anterior, para lanzar una aplicación de aire adobe de una aplicación androide usando Intención ello:

Intent i = Intent.parseUri("testapp://arguments-to-pass",Intent.URI_INTENT_SCHEME); 
i.addCategory(Intent.CATEGORY_BROWSABLE); 
i.setComponent(null); 
i.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
startActivity(i); 
1

archivos SWF son la salida del mxml, es el método anterior para pasar los valores desde el android al mxml o al .swf. Qué cambios tenemos que hacer desde el lado .swf o .mxml. Estoy compilando el mxml en FB (flash Builder) 4.5 e invocando desde el eclipse de Android. Rgds, saurabh

Cuestiones relacionadas