屏幕关闭时,Android App活动/服务保持活动状态

时间:2015-03-19 17:32:11

标签: android android-activity android-service

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

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

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

任何帮助非常感谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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