在应用程序在后台运行时,我已经阅读了大量关于应用程序截取当前用户屏幕的应用程序的问题,但是没有看到很多文章处理该应用程序采取的"屏幕截图"当它在后台运行时。
我希望能够在不必以任何方式根据手机的情况下完成这项工作,因为我希望我的应用程序可供所有人使用(root可能不参与此解决方案,但只是把它扔到那里)。
该应用程序的最终目标是让应用程序能够截取自己的屏幕截图并将该屏幕截图保存为用户背景壁纸。还有其他一些我想补充的功能,但我只是想知道,这甚至可能吗?如果是这样,有人可以给我看一些入门代码或链接我吗?如果之前已经问过这个问题,请告诉我,否则,任何和所有的帮助表示赞赏。谢谢!
答案 0 :(得分:0)
首先,我不确定我是否正确理解您的要求。理想情况下,当应用程序处于后台时,它在进入后台时的状态以及它在后台时的状态将保持不变。因此,当应用程序刚刚进入后台时,您可以截取应用程序的屏幕截图,这可以在活动的onPause()
中处理。
要获取应用的屏幕截图,请将整个布局放在ViewGroup
中,然后使用以下代码。
parentLayout = (RelativeLayout)findViewById(R.id.parentLayout);
parentLayout.setDrawingCacheEnabled(true);
parentLayout.buildDrawingCache();
如果您想截取屏幕截图,请使用
在Bitmap
中获取屏幕截图
bitmap = parentLayout.getDrawingCache();
当应用进入后台时,上述行应该在onPause()
。或者您也可以在应用程序处于后台时触发它,并查看它是否已被捕获。我不确定它在后一种情况下会如何起作用。