Android - 如何在没有图库意图的情况下阅读截图

时间:2015-08-29 03:51:16

标签: android screenshot

我有兴趣编写截图应用程序,并希望从此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();

1 个答案:

答案 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.

这意味着局部变量肯定不起作用,将其放入一个字段并确保您的类不会被垃圾收集,例如甚至可以杀死活动,然后收集垃圾。