我有一个应用程序,用于观察外部存储上的公共目录FileObserver.它在Lollipop设备上运行良好.我想添加支持Marshmallow,所以我用它设置了一个Nexus 9平板电脑.
在Marshmallow设备上,它失败了,在Lollipop设备上它没关系.在Marshmallow设备上,FileObserver它不会对由其他进程引起的文件系统事件做出反应.例如,截取屏幕截图,通过adbshell 创建文件.如果文件是由我的应用程序创建的,它可以正常工作.
在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 设备adb或截屏).