我正在构建的应用程序要求应用程序必须阻止操作系统在出于安全原因将其推入后台时截取应用程序的屏幕截图.这样,在应用程序之间切换时,它将无法看到最后一个活动屏幕.
我打算将此功能放在应用程序类的onPause方法中,但首先我需要了解如何实现此功能.
所以有人在那里,有一个线索如何解决这个问题?
我的应用程序的测试人员报告说:"最近的应用程序列表中的应用程序的缩略图根本没有调整.在我看来它像主屏幕壁纸(tolikdru:可能,只是透明的rect),或者像应用程序的绿色背景屏幕,但从来不是应用程序的真实快照." 所以行为就像这里描述的那样.
我的设备是使用Android 2.0,所以我无法检查和调试问题(最近的应用程序中的缩略图是自Android 3.0+以来).因此,进一步的研究处于"盲目模式".
我决定用onCreateThumbnail手动强制应用程序缩略图的创建()作为这里建议.(为了简化开始的任务,我没有捕获真正的快照,而是使用splashscreen drawable.)
@Override
public boolean onCreateThumbnail(Bitmap outBitmap, Canvas thumbCanvas) {
super.onCreateThumbnail(outBitmap, thumbCanvas);
//splashscreen drawable to bitmap
outBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.titel);
//automatically scale to provided canvas
//(is the canvas provided as input ???)
thumbCanvas.drawBitmap(outBitmap, 0, 0, new Paint());
//is the outBitmap itself scaled to canvas or its copy???
return true;
}
Run Code Online (Sandbox Code Playgroud)
我不确定上面的代码是否正确,因为我无法测试它(见下文).
根据文档,另一个可能的解决方案可能只是一个虚拟的@Override onCreateThumbnail,里面只有super.onCreateThumbnail(),因为文档说:
默认实现返回失败,并且不绘制缩略图; 这将导致平台 在需要时创建自己的缩略图.
但是onCreateThumbnail方法并没有触发,至少在我的Android 2上.实际上这个技巧是针对Android 3+设计的.这里(2012年) 和此处(2009年)报道了相同的情况.在这两种情况下都没有使用Android版本.
那么请你帮忙解答一下问题:
1)上面的代码是否适用于在最近的应用列表中使用缩略图的Android 3+设备? …
有没有办法隐藏/掩盖任务切换器中提议的活动的缩略图?通过任务切换器,我的意思是显示活动应用程序的菜单,长按主页按钮.
提前致谢 !