【问题标题】:Android App Activity/Service keep active when screen offAndroid App Activity/Service 在屏幕关闭时保持活动状态
【发布时间】:2015-03-19 17:32:11
【问题描述】:

我有一个带有录制视频活动的应用程序。活动视图有一个开始按钮和一个计时器图形/文本视图。因此,当按下录制按钮时,它开始录制视频,将按钮更改为停止录制图标并开始每秒更新计时器文本视图。当按下电源按钮并且屏幕关闭时,活动停止并且录制停止。当我重新打开屏幕时,活动被重置以再次开始录制。

问题是如何使附加到视图的活动在屏幕关闭/锁定后保持活动状态。

我已经阅读了有关创建服务的信息,但是您能否将视图附加到服务,以便在屏幕再次处于活动状态时正确维护时间和停止记录 UI 元素;即,如果我开始录制计时器 textview 开始每秒递增一次,如果在 5 秒录制后我锁定屏幕,5 秒后我激活屏幕可以保持活动状态,以便计时器等将继续在后台运行,并且现在显示 15 秒。

非常感谢任何帮助

【问题讨论】:

    标签: android android-activity android-service


    【解决方案1】:

    如果需要,请尝试使用 IntentService 并在单独的线程中执行长时间运行的操作。使用 Messenger、EventBus、广播接收器从服务更新您的 UI。您还可以在 Intent 服务的 onHandleIntent() 方法中设置 Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)。

    【讨论】:

    • 感谢您,这里有很多有趣的内容可供查找,因此谷歌提供了一组很好的关键词,尤其是 IntentService。我根据你的提示找到了这个link,它提供了大量的阅读来推进我想做的事情。
    • @Diplonics 如果有帮助,请投票给答案:)
    【解决方案2】:

    您可能需要请求唤醒锁定以确保 CPU 不会进入睡眠状态。请参阅Wake Locks 上的 Android 文档。

    您还需要在您的服务中请求前台优先级,以确保 Android 不会杀死它(注意:它仍然会杀死它,但仅在最极端的条件下)。请参阅Running a Service in the Foreground 上的 Android 文档。

    【讨论】:

    • 谢谢。我将唤醒锁定设置如下: 强制设备保持唤醒持续时间但它会耗尽电池。但是,即使使用此设置,如果我按下电源按钮锁定设备并开始录制,它也会停止录制。
    猜你喜欢
    • 1970-01-01
    • 2012-05-30
    • 2012-07-17
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多