Передача параметров из действия Java в приложение Adobe AIR - PullRequest
7 голосов
/ 08 апреля 2011

Как мы можем передать параметры из Java Activity при запуске другого приложения типа AIR?

То, как мы работаем с Java, использует доп. Intent. Что такое механизм передачи параметров, когда это приложение Java Activity и AIR на Android. В настоящее время мы передаем параметры, разделяя общее место (sqlite db) и опрашивая его каждую секунду. Это не очень хороший дизайн, и я уверен, что должен быть какой-то хороший способ сделать это. Пожалуйста, просветите меня.

Ответы [ 3 ]

9 голосов
/ 21 апреля 2011

В Adobe AIR 2.5 вы можете передавать параметры в приложение AIR с помощью пользовательских URI.

С помощью этой функции приложение можно сделать доступным из браузера или нативного приложения для Android. Когда приложение вызывается из браузера / android-приложения, InvokeEvent отправляется приложению. Чтобы сделать приложение доступным из браузера, добавьте его в дескриптор приложения (как дочерний элемент элемента приложения):

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

Теперь, чтобы запустить приложение из браузера, укажите URL-адрес: testapp://. Пример:

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

Нажав на эту ссылку, вы запустите приложение.

Если вы хотите передать дополнительные аргументы в ваше приложение из браузера, используйте что-то вроде этого:

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

Как только ваше приложение будет запущено, получите свойство arguments полученного InvokeEvent. Он будет содержать полный URI (testapp://arg1=value&secondArgument=someValue), и вы можете проанализировать его для извлечения аргументов.

С здесь .

4 голосов
/ 29 августа 2011

В дополнение к вышеприведенному ответу, чтобы запустить приложение Adobe Air из приложения для Android с помощью Intent, сделайте следующее:

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 голос
/ 23 сентября 2011

SWF-файлы являются выходными данными mxml, это вышеупомянутый метод для передачи значений из Android в mxml или в .swf.Какие изменения мы должны сделать со стороны .swf или .mxml. Я собираю mxml на FB (flash Builder) 4.5 и вызываю его из затмения Android.Rgds, Саурабх

...