我们有一个Adobe AIR应用程序,可以从多个域下载。当它运行时,它应该连接回下载的网站,以便向用户显示数据。
到目前为止,我们为每个域都有一个单独的应用程序构建,其中一个站点URL被硬编码到其中。我想知道AIR应用程序是否有办法在运行时找到下载它的URL(或至少是域名)?
我们希望拥有的是从所有不同域提供的单个可下载二进制文件,它仍然可以知道它的原始URL。
答案 0 :(得分:3)
没有检索此类信息的功能,如果您考虑它就没有任何意义。
最稳定的方法是将外部配置文件包含在包中。
请注意,您可以使用ANT为此最终部署自动执行此过程。
答案 1 :(得分:2)
没有直接的方法可以做到。
以下是一些选项:
答案 2 :(得分:1)
这应该如何运作?我看到的唯一解决方案(独立于AIR)是您使用应用程序提供额外的(属性)文件,其中包含从中下载的URL。所以你不需要为每个域构建一个单独的应用程序,但只用它包装一个不同的域文件。该应用程序然后读取此文件并执行一些上下文敏感的东西。
答案 3 :(得分:1)
我正试图解决目前完全相同的问题。 看起来您可以修改安装徽章以将参数传递给air app。 根据我收集的内容,这些值仅在安装或从徽章启动时传递。
我计划研究的是“AIRBadge.as”中的一个参数是_appURL,它是徽章所在页面的URL。我还不知道这个值是否以某种方式降低到已安装的AIR应用程序;但它可能是一个有用的属性。我最终希望AIR安装过程将其注入到应用程序描述符xml中,但我并没有屏住呼吸。
查看此页面:http://archive.davidtucker.net/2008/01/10/air-tip-5-passing-arguments-to-an-application-on-install/#
答案 4 :(得分:0)
用户下载时,您可以将其IP地址存储在中央数据库中。然后,当应用程序安装并第一次运行时,应用程序可能会命中您的中央数据库,以便将其IP地址与他们下载的服务器相匹配。
答案 5 :(得分:0)
具有特定名称的cookie存储在下载页面上,而AIR应用程序正在寻找它?虽然这可能不适用于直接下载。由于知道用于下载它的特定浏览器将是一个问题,因此可能也很难实现。