【问题标题】:Open one Air app from another Air app on Android从 Android 上的另一个 Air 应用程序打开一个 Air 应用程序
【发布时间】:2014-06-05 14:02:18
【问题描述】:

我需要从 Android 上的另一个 Air 应用打开一个 Air 应用。到目前为止,我尝试了三个选项都失败了:

  1. 使用adobe.utils.ProductManager 描述here 打开,但我找不到“发布者ID”。这是一篇非常古老的文章,我对此并不抱有希望。

  2. 使用andoid:scheme,在浏览器上运行良好,但在其他 Air 应用程序中,我得到一个“安全沙盒违规”。我将此与普通链接和重定向页面结合使用。看起来很不专业,但是很管用。

    navigateToURL(new URLRequest('air.com.developer.appname://'));
    
  3. 使用intent: 描述here,有利于在新任务中打开。

    var url:String = ("intent:#Intent;" +
                      "action=android.intent.action.MAIN;" +
                      "category=android.intent.category.LAUNCHER;" +
                      "launchFlags=0x10000000;" +
                      "component=<your-package-name>/.<your-activity-name>;" +
                      "end";
    navigateToURL(new URLRequest(url));
    

这些都不适合我。

最后一个选项看起来是最好的,但是我找不到我的活动名称

这是我的清单数据的一部分:

<activity android:launchMode="standard">
    <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="air.com.developer.appname" />
    </intent-filter>
</activity>

如果我尝试将android:name 属性添加到&lt;activity /&gt;,我会得到:

error 404: Android attribute android:name is not allowed to be overridden

有什么方法可以找出默认的android:name 属性?或者关于如何做到这一点的任何其他建议? 谢谢。

【问题讨论】:

    标签: android actionscript-3 flash android-intent air


    【解决方案1】:

    如果您使用的是 Flash Builder,它会自动为您的活动命名。例如,它为我的活动提供了 .AppEntry 的名称,因此对于第三种情况(按 URI 的意图),我必须输入以下内容:

        var url:String = ("intent:#Intent;" +
                  "action=android.intent.action.MAIN;" +
                  "category=android.intent.category.LAUNCHER;" +
                  "launchFlags=0x10000000;" +
                  "component=sebastianT.app.package/.AppEntry;" +
                  "end";
        navigateToURL(new URLRequest(url));
    

    我希望这会有所帮助。

    编辑

    我下载了一个名为 Memory Usage (https://play.google.com/store/apps/details?id=mem.usage&hl=es_419) 的应用程序,并且可以使用以下代码从我的 Air 应用程序中打开它:

                var url:String = ("intent:#Intent;" +
                    "action=android.intent.action.MAIN;" +
                    "category=android.intent.category.LAUNCHER;" +
                    "component=mem.usage/.activity.MainActivity;" +
                    "end");
                navigateToURL(new URLRequest(url));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多