【问题标题】:Launching an Android App via Adobe Air Application通过 Adob​​e Air 应用程序启动 Android 应用程序
【发布时间】:2016-01-15 15:51:32
【问题描述】:

我知道可以通过 Intent 调用与原生 android 组件进行通信,但我正试图弄清楚如何通过 Adob​​e Air 应用程序启动应用程序(已安装)。

目前,感谢Ben,我知道...

var url:String = ("intent:#Intent;" +
                  "action=android.intent.action.MAIN;" +
                  "category=android.intent.category.LAUNCHER;" +
                  "component=com.android.settings/.Settings;" +
                  "end");
navigateToURL(new URLRequest(url));

...通过 Air 应用程序启动 Android 设置菜单,非常棒。

但我正在尝试启动一个应用程序...我相信秘密在于“component=com.android.settings/.Settings;” sn-p。有人知道我如何修改此代码以在设备上启动已安装的应用程序吗?

我的王国寻求答案。我已经在互联网上搜索了几天。

布拉德

【问题讨论】:

    标签: android actionscript-3 flash air


    【解决方案1】:

    这取决于您的用例。

    如果您要打开某个特定应用,您可以在该应用的 .apk 中查找<intent-filter> 元素,如Launch custom android application from android browser 中所述。然后制作适当的 URL 以传递给 navigateToUrl()

    另一种可能性是获取您要打开的应用程序的包名称,并将其设置为 URL 的 component= 部分。公平的警告,我实际上不确定这是否可行。

    如果您不知道要在编译时打开哪个应用程序,那就更难了(例如,如果您有一个您的 AIR 应用程序可能需要调用的应用程序的服务器端列表)。 Launch an application from another application on Android 展示了如果您只知道包名称如何启动应用程序,但您需要一个本机扩展来启用该功能。

    【讨论】:

    • 谢谢布莱恩!答案在于对 COMPONENT sn-p 的修改。经过一番挖掘,我发现了一个名为 ApplicationReader 的应用程序,它能够收集包和活动名称,这两者都是找出组件信息所必需的。像魅力一样工作!现在我只需要弄清楚如何将变量从 tasker 传递到 AIR 应用程序中:D
    猜你喜欢
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2014-07-30
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    相关资源
    最近更新 更多