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