Screenshot 如何重新打开后台应用程序?

Screenshot 如何重新打开后台应用程序?,screenshot,onkeypress,background-foreground,Screenshot,Onkeypress,Background Foreground,我想拍一张实际屏幕的截图。 如果我按下按钮,我将执行以下代码: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); 这样我就有了主屏幕,但如果我尝试拍摄屏幕截图,我总是在新家之前拍摄我的应用程序屏幕。 我使用了Thread.sleep来等待新的屏幕回家,然后我拍摄了屏幕截图,但我总是拍摄最后一个应用程序字符串。 为什么?

我想拍一张实际屏幕的截图。 如果我按下按钮,我将执行以下代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
这样我就有了主屏幕,但如果我尝试拍摄屏幕截图,我总是在新家之前拍摄我的应用程序屏幕。 我使用了Thread.sleep来等待新的屏幕回家,然后我拍摄了屏幕截图,但我总是拍摄最后一个应用程序字符串。 为什么? 我认为可以使用按键事件启动TackesScreenshot,然后返回应用程序主屏幕。 这是一个很好的解决方案吗?如果是的话,我如何回到我的应用程序,它正在后台运行?
Cheees=

您不能强制应用程序返回前台。这将是一个漏洞,导致一些极其恼人的应用程序。你必须找到另一种方法来拍摄主屏幕的截图。不过我想不出一个办法。似乎其他人正试图做与你相同的事情,但他们也没有取得多大成功:


嗯……该死。为什么如果我尝试截图,我总是截取我应用程序的最后一个屏幕,而不是实际的可视化屏幕?我猜是因为你的屏幕截图命令来自你的应用程序,所以上下文在你的应用程序中。有什么建议吗?可以更改上下文吗=您可以尝试使用ActivityManager或WindowManager,但我对这些系统服务没有任何经验,抱歉。我正在尝试使用服务而不是活动。但在服务中,由于findViewById,我无法调用某些方法。如何解决?我可以在活动中使用takeScreenShot方法,然后在服务中调用它吗?如果可以,如何解决?我还试图捕捉一些事件,总是在服务中,比如按音量按钮,但这是不可能的…它只在活动中起作用…帮助=