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

时间:2014-02-15 10:55:16

标签: java android taskmanager

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

Symbian Belle task switcher

2 个答案:

答案 0 :(得分:3)

我怀疑如果没有在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。

答案 1 :(得分:0)

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