android - 如何让您的移动 AIR 应用程序始终在后台运行?

标签 android ios actionscript-3 mobile air

我在 AIR for mobile 中创建了一个闹钟类型的应用程序。为了让它工作,我认为它需要一直运行。

基本上,我需要检查是否是某个时间(检查存储的值 - 该值可能位于本地 AIR SQLLite 数据库、在线、本地存储(AIR cookie)中。当满足这些条件时,例如计时器完成,我需要它来启动应用程序。

如何让我的应用程序始终运行,或者是否有更好或替代的方法来完成我想做的事情?有 headless 模式吗? 假设我是一名初学者移动开发人员和初学者 AIR 开发人员。

注意:当我说启动应用程序时,我的意思是应用程序以全屏方式启动,而不是通知角标(Badge)或消息。不过,如果第一个选项不可行,是否可以显示 native 警报类型消息,当单击“确定”或任何 native 方式时,将打开应用程序?

更新
似乎在 Android 中,有一种方法可以将应用程序作为服务运行。当通知或消息来自 Google Cloud Messaging 时,它会运行服务类,并且任何监听的处理程序都会处理该消息。我想如果需要的话您可以启动该应用程序。注意:我不确定是否需要 GCM,因为它是客户端。 Intent 可能就是我想要做的事情。 :P

它仍然是粗略的,但我会根据我的理解添加更多细节。

我还不确定这与 AIR 应用程序有何关系。我认为可能是通过 native 扩展。

GCM 入门 - http://developer.android.com/guide/google/gcm/gs.html
GCM 概述 - https://support.google.com/googleplay/android-developer/support/bin/answer.py?hl=en&answer=2663268

最佳答案

AFIK,在 Android 上,应用程序默认最小化时在后台运行(真正的多任务处理)。默认情况下,Adobe AIR 只是在最小化时自动将帧速率降低到 4fps。降低的 fps 可能会影响闹钟定时器事件的延迟,因此如果您依赖客户端触发闹钟,我建议使用基于 Enter_frame 的定时器代理。注意:如果您希望服务器触发警报和/或最大化应用程序,您还可以在应用程序最小化时查询服务器。

在 iOS 中,情况有所不同,因为默认情况下最小化时应用程序不会运行。唯一的异常(exception)是当您的应用使用 UIBackgroundModes 之一(在应用 list 中设置)时。自 4S 出现以来,App Store 对于允许任何具有 UI 后台模式的应用程序变得非常严格(电池门​​的 bc)。例如,如果您尝试使用 UIBackgroundModes=audio 提交,您的闹钟应用程序将被关闭,因为音频不连续(只有在闹钟响起时才能听到!)。因此,对于 iOS,您必须使用本地或推送通知。

本地通知由客户端设置,在最小化应用程序之前有特定的延迟(在应用程序停用时是执行此操作的好地方)。不幸的是,到目前为止,对于 AIR-iOS 的本地通知 ANE (http://juankpro.com/wordpress/2012/06/17/using-the-local-notification-ane-on-ios),您无法通过客户端设置闹钟音效,但您可以从闹钟响起时起每分钟重复一次默认的本地通知声音。

希望这能有所帮助。

关于android - 如何让您的移动 AIR 应用程序始终在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11379834/

相关文章:

ios - 在 UISearchController 中隐藏搜索栏上的取消按钮

ios - CALayer 可见区域改变时通知?

actionscript-3 - 选择网格中中心单元格的公式/算法?

performance - Actionscript 3 中循环的变量声明性能

actionscript-3 - 弹性 : Access static constant from parent

Android Studio,App 为 ActionBarActivity 抛出 java.lang.NoClassDefFoundError

android - 使用 ListPreference 更改背景颜色

ios - 在 Swift 中,如何确定设备屏幕的物理尺寸?

java - 安卓 : overriding Button minheight programmatically

android - 通知声音不适用于 api 10 android