When does Android take its recent apps switcher screenshot?

ぃ、小莉子 提交于 2019-11-26 21:14:37

问题


I am developing an app that has private information and should not display a real screenshot in Android's recent app switcher. I've tried a variation of this solution, by setting the content view to an ImageView inside the onPause function, but it seems that the operating system takes a screenshot before the content view is changed to the custom image.

I am also aware of setting the window's layout parameter flags to secure, making the screenshot completely white, but I'd hope that there would be a way to customize the screenshot.

So, I'm wondering at what point that Android takes a screenshot of the app for the app switcher (specifically in KitKat and Lollipop).


回答1:


EDIT

It is no longer possible to customize the screenshot which system uses to present the thumbnail in the recent apps.

Old answer

Take a look at method Activity.onCreateThumbnail - this is exactly what you're looking for as it let you draw your own thumbnail for Recent screen.

You get Canvas as one of the parameters in which you can draw (or not draw at all) directly. The main point is that you have to return true from this method, which indicates that system won't draw thumbnail itself.

The simpliest solution would be:

@Override
public boolean onCreateThumbnail (Bitmap outBitmap, Canvas canvas) {
    // Do nothing or draw on Canvas
    return true;
}

or if you want to draw your own Bitmap

@Override
public boolean onCreateThumbnail (Bitmap outBitmap, Canvas canvas) {
    Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.myBitmap);
    canvas.drawBitmap(myBitmap, 0, 0, null);

    return true;
}


来源:https://stackoverflow.com/questions/31011593/when-does-android-take-its-recent-apps-switcher-screenshot

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!