将参数从 java 活动传递到 Adob​​e AIR 应用程序

发布于 2024-10-31 00:24:28 字数 203 浏览 0 评论 0原文

我们如何在启动另一个 AIR 类型的应用程序时从 Java Activity 传递参数?

我们对java活动的做法是使用Intent的extra。 Android上的java Activity和AIR应用程序的参数传递机制是什么?目前,我们通过共享一个公共位置(sqlite db)并每秒轮询一次来传递参数。这不是一个好的设计,我相信一定有一些好的方法可以做到这一点。请赐教。

How can we pass parameters from a Java Activity while launching another application of type AIR?

The way we do for java activities is using Intent's extra. What are the parameter passing mechanism when it's java Activity and AIR app on Android. Currently we are passing parameters by sharing a common place (sqlite db) and polling it every second. This is not a good design and I am sure there must be some good way to do this. Please enlighten me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷途知返 2024-11-07 00:24:28

在 Adob​​e AIR 2.5 中,您可以使用自定义 URI 将参数传递到 AIR 应用程序。

通过使用此功能,可以从浏览器或本机 Android 应用程序调用应用程序。当从 browser/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>

现在要从浏览器启动您的应用程序,请提供以下 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>

应用程序启动后,获取收到的 InvokeEvent 的参数属性。这将包含完整的 URI (testapp://arg1=value&secondArgument=someValue),您可以解析它以提取参数。

来自此处

In Adobe AIR 2.5 you can pass parameters to AIR app using custom URIs.

By using this feature an application can be made invokable from browser or native android application. When the application is invoked from browser/android-app, an InvokeEvent is dispatched to the application.
For making an application invokable from browser, add this in your application descriptor (as child of application element):

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

Now to launch your application from browser, provide the url as: testapp://. An example is:

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

Clicking on this link will launch your application.

If you want to pass additional arguments to your application from browser, use something like this:

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

Once your application gets launched, fetch the arguments property of received InvokeEvent. This will contain the complete URI (testapp://arg1=value&secondArgument=someValue) and you can parse it to extract the arguments.

From here.

你的背包 2024-11-07 00:24:28

除了上述答案之外,要使用 Intent 从 Android 应用程序启动 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);

In addition to the above answer, to launch an adobe air application from an android app using Intent do this:

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);
纵山崖 2024-11-07 00:24:28

swf 文件是 mxml 的输出,是将值从 android 传递到 mxml 或 .swf 的上述方法。我们必须从 .swf 或 .mxml 方面进行哪些更改。我正在 FB(flash Builder) 4.5 上编译 mxml 并从 android eclipse 调用它。
平均值,
索拉布

swf files are the output of the mxml , is the above method for passing the values from the android to the mxml or to the .swf . What changes we have to do from the .swf or .mxml side.I am compiling the mxml on FB(flash Builder) 4.5 and invoking it from the android eclipse.
Rgds,
saurabh

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文