我有兴趣编写截图应用程序,并希望从此app学习该技巧。
用户使用电源和音量按钮截取屏幕截图后,应用程序会打开屏幕截图,用户无需从图库中选择图像。我想做类似的事情(保存用户导航库以获取屏幕截图的步骤)。
有没有人可以通过此应用程序查看截图? (在应用程序的演示视频中,此步骤在0:30显示)
修改
我已尝试在我的nexus 5上测试它。我可以看到屏幕截图位于文件夹/sdcard/Pictures/Screenshots
中。目录权限是:
drwxrwx--x root sdcard_rw 2015-08-30 01:42 Screenshots
我提供了应用存储权限。我在服务中使用了以下代码,但它不起作用:
FileObserver fileObserver = new FileObserver("/sdcard/Pictures/Screenshots") {
@Override
public void onEvent(int event, String path) {
Log.d("Test", "FileObserver event");
}
};
fileObserver.startWatching();
答案 0 :(得分:1)
它应该在后台运行,注册FileObserver,并在添加文件时执行操作。
或者服务只需手动检查文件夹。
修改强>
Warning: If a FileObserver is garbage collected, it will stop sending events. To ensure you keep receiving events, you must keep a reference to the FileObserver instance from some other live object.
这意味着局部变量肯定不起作用,将其放入一个字段并确保您的类不会被垃圾收集,例如甚至可以杀死活动,然后收集垃圾。