如何在啓動另一個AIR類型的應用程序時從Java活動傳遞參數?將Java活動的參數傳遞給Adobe AIR應用程序
我們爲java活動的方式是使用Intent的額外。當它是Android上的Java Activity和AIR應用程序時,參數傳遞機制是什麼?目前我們通過共享一個共同的地方(sqlite db)來傳遞參數並每秒鐘輪詢它。這不是一個好的設計,我相信肯定有一些好的方法來做到這一點。請賜教。
如何在啓動另一個AIR類型的應用程序時從Java活動傳遞參數?將Java活動的參數傳遞給Adobe AIR應用程序
我們爲java活動的方式是使用Intent的額外。當它是Android上的Java Activity和AIR應用程序時,參數傳遞機制是什麼?目前我們通過共享一個共同的地方(sqlite db)來傳遞參數並每秒鐘輪詢它。這不是一個好的設計,我相信肯定有一些好的方法來做到這一點。請賜教。
在Adobe AIR 2.5中,您可以使用自定義URI將參數傳遞給AIR應用程序。
通過使用此功能,可以從瀏覽器或原生android應用程序調用應用程序。當從瀏覽器/ android-app調用應用程序時,
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>
我們從瀏覽器中啓動應用程序,提供的網址爲:
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>
一旦你的應用程序被啓動,取收到
InvokeEvent
的參數性能。這將包含完整的URI(testapp://arg1=value&secondArgument=someValue
),您可以解析它以提取參數。
從here。
除了上面的回答,使用意圖做這啓動從一個機器人應用Adobe AIR應用程序:
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);
SWF文件是MXML的輸出,是用於傳遞值的上述方法從android到mxml或到.swf。我們必須從.swf或.mxml文件中進行什麼修改。我正在編譯FB(Flash Builder)4.5中的mxml並從android eclipse中調用它。 Rgds, saurabh