Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓-如何阅读没有图库意图的截图_Android_Screenshot - Fatal编程技术网

Android 安卓-如何阅读没有图库意图的截图

Android 安卓-如何阅读没有图库意图的截图,android,screenshot,Android,Screenshot,我对编写一个截图应用程序感兴趣,并想从中学习技术 用户使用电源和音量按钮拍摄屏幕截图后,应用程序将打开屏幕截图,而无需用户从图库中选择图像。我想做一些类似的事情(保存用户浏览图库以获取屏幕截图的步骤) 有人知道一个应用程序怎么能像这个应用程序那样读取屏幕截图吗?(在应用程序的演示视频中,此步骤显示在时间0:30) 编辑 我试着在我的Nexus5上测试它。我可以看到屏幕截图在文件夹/sdcard/Pictures/Screenshots中。目录权限为: drwxrwx--x root sd

我对编写一个截图应用程序感兴趣,并想从中学习技术

用户使用电源和音量按钮拍摄屏幕截图后,应用程序将打开屏幕截图,而无需用户从图库中选择图像。我想做一些类似的事情(保存用户浏览图库以获取屏幕截图的步骤)

有人知道一个应用程序怎么能像这个应用程序那样读取屏幕截图吗?(在应用程序的演示视频中,此步骤显示在时间0:30)

编辑

我试着在我的Nexus5上测试它。我可以看到屏幕截图在文件夹
/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();

它应该在后台作为服务运行,注册一个文件,并在添加文件时执行操作

或者服务只是手动检查文件夹

编辑:

警告:如果FileObserver被垃圾收集,它将停止发送事件。为了确保您一直接收事件,您必须从其他一些活动对象中保留对FileObserver实例的引用。


这意味着局部变量肯定不起作用,将其放入一个字段,并确保您的类不会被垃圾收集,例如,即使活动也可能被终止,然后收集垃圾。

是否有保存屏幕截图的标准目录路径?它似乎位于主存储器中的
图片/屏幕截图
下,但似乎没有文档,因此没有保证。我认为这可能是特定于制造商的,但同时检查主和辅助(SD卡)带有图片/屏幕截图(不区分大小写)的存储应找到文件夹。请检查编辑。我尝试使用FileObserver进行测试,但没有成功。更新后,FileObserver很难使用,请检查我的编辑。您可能需要一个服务,即使有一个服务,您也必须确保它不会轻易被杀死