Adobe Flex Mobile 4.6 - 从浏览器启动应用程序

时间:2012-06-07 20:15:35

标签: android ios flex mobile air

我正在尝试在我的公司正在Adobe AIR中开发的Flex Mobile应用程序(使用Flash Builder)开始开发。该应用程序最初将针对iPhone和Android以及最终的BlackBerry PlayBook平板电脑发布。

但是,其中一个要求是我们需要能够从设备上的浏览器启动应用程序,并将参数传递给它。

我不确定我做错了什么,但是我无法让它发挥作用。我在Android部分中放了以下代码块。我现在正在使用Android进行初始测试。很容易将APK放到Android设备上,我就坐在这里。

            <application>
                <activity android:name=".MyUriActivity">
                    <intent-filter>
                        <action android:name="android.intent.action.VIEW" />
                        <category android:name="android.intent.category.DEFAULT" />
                        <category android:name="android.intent.category.BROWSABLE" />
                        <data android:scheme="myapp" android:host="path" /> 
                    </intent-filter> 
                </activity> 
            </application>

我还有用于处理事件的代码:

import mx.events.FlexEvent;

        protected function application_preinitializeHandler(event:FlexEvent):void
        {
            NativeApplication.nativeApplication.addEventListener(
                InvokeEvent.INVOKE, onInvoke);
        }

        private function onInvoke(event:InvokeEvent):void
        {
            // You can parse argument value from event.arguments property
            Text1.text = "Arguments: " + event.arguments;
        }

allowBrowserInvocation标志设置为true。

我尝试使用以下链接创建测试HTML页面,但我只是在Android浏览器中收到“网页不可用”消息。

<a href="myapp:">myapp:</a>

<br><br>

<a href="myapp:#Intent;action=android.intent.action.view;end">click to load apk</a>

我已阅读以下所有帖子,但我仍遇到问题。有人可以帮帮我吗?我错过了什么?

How to register some URL namespace (myapp://app.start/) for accessing your program by calling a URL in browser in Android OS?

How to implement my very own URI scheme on Android

Open a Native AIR app via URL?

1 个答案:

答案 0 :(得分:1)

好吧......我不确定我做了什么,也许是我喝了一杯水的休息时间。但是,当我再次尝试它时,它可以工作。

我清除了清单部分,并再次尝试使用此站点中的示例:

http://dreamingwell.com/articles/archives/2011/06/flex-mobile-cus-2.php

现在它起作用......但我想我已经尝试过了......

(从评论转移到实际答案,现在StackOverflow允许我这样做)