FileObserver 在 Android 6.0 Marshmallow (API 23) 中的外部存储上不起作用
2022-09-01 10:03:09
我有一个应用程序,它使用观察外部存储上的公共目录。它在设备上工作正常。我想添加对 的支持,所以我用它设置了一台Nexus 9平板电脑。FileObserver
Lollipop
Marshmallow
在棉花糖设备上,它失败了,在棒棒糖设备上,它没问题。在 Marshmallow 设备上,不会对由其他进程引起的文件系统事件做出反应。例如,截取屏幕截图,通过shell创建文件。如果文件是由我的应用程序创建的,则工作正常。FileObserver
adb
在 上,我向 请求和权限。Marshmallow
WRITE_EXTERNAL_STORAGE
READ_EXTERNAL_STORAGE
Manifest.xml
当我使用API 23编译时,我还确保调用.ActivityCompat.requestPermissions()
当我使用API 22编译时,我只依赖于.Manifest.xml
如果我在 上观察东西,它的工作原理。/data/data/my-package-name
如果我在 上观察内容,它将失败。/storage/emulated/0/Pictures/Screenshots
有没有人测试过以下所有内容?:FileObserver
-
Marshmallow
装置 - API 23 和 API 22?
- 外部存储
- 由观察应用程序以外的其他进程创建的文件(例如 或截取屏幕截图)。
adb