【问题标题】:Running Android App in the Background after "killed"“杀死”后在后台运行Android App
【发布时间】:2016-05-04 09:56:55
【问题描述】:

我正在开发一个用于移动传感器监控(加速​​度计、陀螺仪等)的 Android 应用程序。该应用程序建立在从 BroadCastReceiver 扩展的类上,并与服务(从 Service 扩展的类)进行通信,该服务负责在发生某些 android 事件时记录传感器数据。当应用程序在后台运行时运行良好,直到我终止活动(在此活动中,用户可以调整一些参数)。我想在应用被杀后继续录制,如何解决?谢谢!

【问题讨论】:

  • 您使用什么服务开始服务?我建议用 START_STICKY 覆盖 onstartcommand 会有所帮助
  • 服务用于执行长期后台进程,STICKY 服务确保在被​​杀死后重新启动。我认为它会根据您的要求提供帮助
  • 感谢你们,在 onstart 命令中返回 START_STICKY 效果很好。我还需要使用 PowerManager 来防止 Android CPU 进入睡眠状态。

标签: java android android-studio


【解决方案1】:

我认为您忘记将服务添加到您的应用程序中,您需要从您的活动中启动服务,然后使用 IntentFilters 注册广播接收器,之后您的应用程序将永远不会停止可能您会对此感兴趣answer

【讨论】:

    【解决方案2】:

    您可以使用这两个框架来安排您的服务在您想要的时间启动。就像每小时左右一样

    http://developer.android.com/reference/android/app/job/JobScheduler.html http://developer.android.com/reference/android/app/AlarmManager.html

    但请记住,如果有人会去任务管理器并杀死您的进程,则无法避免这种情况。

    干杯

    【讨论】:

      【解决方案3】:

      通过返回 START_STICKY(服务的 onstartcommand())和服务内部的 PowerManager 解决,以防止 Android CPU 进入睡眠状态。谢谢大家!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多