【问题标题】:Using android.os.FileObserver to watch "\data" directory not working使用 android.os.FileObserver 观察“\data”目录不起作用
【发布时间】:2012-03-01 08:09:43
【问题描述】:

我设置了一个测试程序来了解更多关于 android SDK (2.2) 中的 FileObserver 的信息。 当 FileObserver 设置为观看“/mnt/sdcard”时,它似乎工作正常。当“/mnt/sdcard”中发生某些文件系统更改时,将调用 onEvent() 函数。 但是,如果我将 FileObserver 更改为观看“/data”,即使我在“/data”中更改文件系统,onEvent() 函数也不再被调用。

提前感谢任何 cmets 或答案。

【问题讨论】:

  • 您是否打算监视 /mnt 目录本身以创建/删除文件?
  • 已经有一段时间了,所以我不记得我在做什么了。但很可能没有。

标签: android filesystemwatcher


【解决方案1】:

您没有对整个/data 的读取权限,因此FileObserver 不适合它我并不感到惊讶。

尝试将FileObserver 用于您拥有读取权限的更窄范围(例如,您自己的getFilesDir())。

【讨论】:

  • 谢谢。我猜目录权限可能有一些事情要做,但我不确定。我的测试 android 应用程序当然没有在 root 帐户下运行。它在名为 app_68 (uid = 10068) 的帐户下运行。如果我使用“adb.exe shell”来获得 root 访问权限,我也可以授予 app_68 root 访问权限吗?如果是这样,我的测试应用程序中的 FileObserver 是否能够观察“/data”中的所有文件系统更改?
  • 确实是目录权限问题。我将每个人的“/data”目录权限更改为“rwx”,并且在观看“/data”时会调用 FileObserver 的 onEvent()。感谢您的帮助,CommonsWare。
猜你喜欢
  • 1970-01-01
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
  • 2017-05-17
  • 2012-06-13
  • 1970-01-01
相关资源
最近更新 更多