微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何强制应用为最近的应用列表创建缩略图(快照)?

我的应用测试人员报告:
“最近的应用程序列表中的应用程序的缩略图根本没有调整.在我看来它像主屏幕壁纸(tolikdru:可能,只是透明的rect),或者像应用程序屏幕的绿色背景,但从来没有真正的应用程序的快照.“
所以行为是 like described here.

我的设备是使用Android 2.0,所以我无法检查和调试问题(最近的应用程序中的缩略图是自Android 3.0以来).因此,进一步的研究处于“盲目模式”.

我决定使用onCreateThumbnail()as proposed here手动强制创建应用缩略图.(为了简化开头的任务,我没有抓到真正的快照,而是使用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,new Paint());

    //is the outBitmap itself scaled to canvas or its copy???
    return true;
}

我不确定上面的代码是否正确,因为我无法测试它(见下文).

According to docs一个可能的解决方案可能只是一个虚拟的@Override onCreateThumbnail,里面只有super.onCreateThumbnail(),因为文档说:

The default implementation returns fails and does not draw a
thumbnail; this will result in the platform creating its own thumbnail
if needed.

但onCreateThumbnail方法并没有触发,至少在我的Android 2上.实际上这个技巧是为Android 3而设计的.
同样是reported here (year 2012) and also here (year 2009).在这两种情况下都没有使用Android版本.

那么请你帮忙解答一下问题:

1)上面的代码是否适用于在最近的应用列表中使用缩略图的Android 3设备?

2)如果没有,是否有任何其他解决方法使应用程序生成正确的缩略图(或任意绘制到我的选择)?

提前致谢!

解决方法

This is an issue with the OS.不幸的是,它似乎没有用.如果你不希望人们出于某种原因从最近看你的应用程序,你可以把
getwindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE)

作为活动的onCreate()方法的第一行.

原文地址:https://www.jb51.cc/java/128876.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐