• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 21:51:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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

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

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

它仍然是粗略的,但我正在添加更多我理解的细节。

这与 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



Best Answer-推荐答案


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

在 iOS 中,情况就不同了,因为默认情况下应用程序不会在最小化时运行。唯一的异常(exception)是您的应用使用 UIBackgroundModes 之一(在应用 list 中设置)。自从 4S 出现以来,App Store 对允许任何具有 UI 后台模式的应用程序都变得非常严格(bc of battery-gate)。例如,如果您尝试使用 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap