【问题标题】:How to perform some action on background when the app exit应用退出时如何在后台执行某些操作
【发布时间】:2012-06-29 13:39:34
【问题描述】:

我已经构建了一个应用程序,它将用户输入的日期存储在一个数组中。现在我想在我的应用程序的背景上执行一些操作。在后台,我想要一个检查,将设备的当前日期与存储在数组中的数据进行比较。找到匹配项后,我想打开一个对话框。应用退出时是否可以在后台执行一些任务?

请帮我举个例子,我不知道这个话题。

【问题讨论】:

    标签: android


    【解决方案1】:

    最好的解决方案是使用服务。 有关更多信息,您可以阅读文档:

    http://developer.android.com/reference/android/app/Service.html

    一个很好的教程是这样的:

    http://marakana.com/forums/android/examples/60.html

    【讨论】:

      【解决方案2】:

      如果您只需要在某个日期弹出一个弹出窗口,则不需要服务(这只会耗尽电池并让用户感到不舒服),但您可以使用AlarmManager

      你可以在这里找到很多例子AlarmManager Examples

      【讨论】:

        【解决方案3】:

        在 Android 1.x 中覆盖 onKeyDown() 或在 Android 2.x 中覆盖 onBackPressed() 以处理 Backpressed,您可以在应用退出时启动 IntentService 以在后台执行某些任务。

        请参阅 android-fundamentals-intentservice-basics

        http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/

        for handling backpress

        Android - onBackPressed() not working

        使用IntentSerice 在后台执行任务,因为正如docs 所说:

        IntentService 是处理异步的服务的基类 按需请求(表示为意图)。客户端发送请求 通过 startService(Intent) 调用;服务根据需要启动, 使用工作线程依次处理每个 Intent,并自行停止 当它耗尽工作时。

        【讨论】:

        • U 应该覆盖 onPause() 或 onStop() ,因为如果用户使用主页按钮退出应用程序,您的代码将永远不会被执行...
        • @imrankhan 实际上我想要的是假设我的日期存储是 2012 年 7 月 1 日 12:30:00,之后我退出我的应用程序。现在,当我的当前日期变为 2012 年 7 月 1 日 12:30:00 时,我想显示一个对话框。但当时我的应用程序没有运行。
        • 您可以使用我在可能回答中建议的 AlarmManager 意图,您可以在应用的 onStop() 上设置它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-29
        • 2017-03-27
        • 1970-01-01
        • 2019-06-16
        相关资源
        最近更新 更多