如何从“最近打开的应用程序”中获取屏幕截图?

Posted

技术标签:

【中文标题】如何从“最近打开的应用程序”中获取屏幕截图?【英文标题】:How can I get screenshot's from "Recent opened apps"? 【发布时间】:2014-02-15 10:55:15 【问题描述】:

是否可以从“最近打开的应用程序”中获取完整的应用程序截图? 我想为 android 制作类似 MeeGo 或 Symbian 的任务管理器。

【问题讨论】:

【参考方案1】:

我怀疑如果没有在 root 手机上运行,​​这是可能的。

系统最近任务面板通过此代码获取缩略图:

final ActivityManager am = (ActivityManager)
mContext.getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.TaskThumbnails thumbs = am.getTaskThumbnails(td.persistentTaskId);

但是getTaskThumbnails好像是私有方法,只允许以系统权限访问。

来源:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/com/android/systemui/recent/RecentTasksLoader.java#RecentTasksLoader

另一种选择是使用ActivityManager.getRunningTaks() 获取正在运行的任务列表,然后使用RunningTaskInfo.thumbnail 获取应用程序的缩略图。但是,似乎总是返回 null。

【讨论】:

【参考方案2】:

您可以使用 AvtivityManager.getRunningTasks 获取正在运行的任务列表,并使用它来截取屏幕截图。参考这个项目: http://androidexample.com/Check_Current_Running_Activity_%7C_Task_%7C_Application_-_Android_Example/index.php?view=article_discription&aid=111&aaid=133

【讨论】:

这怎么能用来截取RunningTaskInfo的截图?

以上是关于如何从“最近打开的应用程序”中获取屏幕截图?的主要内容,如果未能解决你的问题,请参考以下文章

android 怎么获取当前屏幕的截图

如何转换上传的视频并从此文件中获取屏幕截图?

ios xcode真机调试获取屏幕截屏

vc 截取屏幕

如何使用 Eclipse 给 Android 模拟器截屏

如何在android上通过降低音量和电源键来截取屏幕截图?