android - 文件观察器在待机期间处于服务状态

标签 android service wakelock standby fileobserver

我的 Android FileObserver 有问题。

我有一个正在运行的后台服务(返回 START_STICKY),它引用了两个 FileObserver。 据我所知,在将设备设置为 sleep 模式之前一切正常,这将停止服务。

  1. 有人知道当设备进入休眠模式时 Service/FileObserver 到底发生了什么吗?

  2. 服务能否在卡住前得到通知,以便我可以保存观察到的文件夹的文件列表,并在设备再次唤醒时将其与新列表进行比较?

我不想使用唤醒锁,因为它会影响电池生命周期。

  1. 如果我的服务设置为休眠时文件夹发生更改,当我重新打开屏幕时,是否会立即触发 FileObserver 事件?

这不能真正测试它,因为 usb 调试使设备处于唤醒状态。

感谢您的帮助!

最佳答案

Everything is working fine until the device is set to sleep mode, which will stop the service, as far as i know

不,它会停止 CPU。

Does anybody know what exactly happens to the Service/FileObserver when a device is put to sleep mode?

CPU 停止。停止的 CPU 将不会执行指令。这让人想起将您的开发计算机置于挂起模式。

(细节要复杂得多,但恕我直言,通常与 SDK 级别无关)

Can the service get notified before freezing so I can save a file list of the observed folder and compare it to a new list when the device gets waked up again?

没有。

Will the FileObserver Event be fired for changes to folders which happend while my service was set to sleep, as soon as I turn the screen back on?

我没试过。

That can't really test it because usb debugging keeps the device awake.

然后拔下 USB 数据线。使用 Log 语句记录您希望监控的结果。在测试期结束后插入 USB 数据线以检查 LogCat 并查看您的日志。

一般来说,您的整体解决方案(持续运行的服务)是用户不友好的。当用户使用任务 killer 和强制停止按钮攻击您时,请不要提示。

关于android - 文件观察器在待机期间处于服务状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16999111/

相关文章:

android - java.lang.ClassCastException : android. view.ViewGroup$LayoutParams 无法转换为 android.widget.Gallery$LayoutParams

java - 在将视频上传到 firebase 之前如何减小视频的大小?

android - 停止/销毁线程

java - YASJW 批处理脚本中的路径行为不一致

android - 如何在屏幕关闭时保持蓝牙连接?

android - 在 sleep 模式下检查 wifi 网络信号

android - Chrome 自定义标签无法与 CustomTabsIntent 一起正常工作

android - android中的嵌套内部Activity类

java - 服务 jboss.web.deployment.default-host./.realm 已经注册

android - 唤醒锁是静态的吗?如果是,我如何在一个应用程序中管理多个服务/唤醒锁?