Когда Android делает свой недавний скриншот приложений?

Я разрабатываю приложение, которое имеет личную информацию и не должно отображать реальный снимок экрана в недавнем переключателе приложений Android. Я попробовал вариант этого решения , установив представление содержимого в ImageView внутри функции onPause, но кажется, что операционная система делает снимок экрана до того, как представление содержимого будет изменено на пользовательский образ.

Я также знаю, что нужно установить флаги параметров макета окна, чтобы сделать скриншот полностью белым, но я надеюсь, что будет возможность настроить скриншот.

Итак, мне интересно, в какой момент Android делает снимок экрана для приложения для коммутатора приложений (в частности, в KitKat и Lollipop).

Solutions Collecting From Web of "Когда Android делает свой недавний скриншот приложений?"

Взгляните на метод Activity.onCreateThumbnail – это именно то, что вы ищете, поскольку оно позволяет вам нарисовать собственный миниатюру для последнего экрана.

Вы получаете Canvas как один из параметров, в котором вы можете напрямую рисовать (или не рисовать). Главное, что вы должны вернуть true из этого метода, что указывает на то, что система не будет рисовать эскизы.

Самое простое решение:

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

Или если вы хотите нарисовать собственный 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; }