Vraag Wanneer neemt Android zijn recente screenshot van apps-switcher?


Ik ben bezig met het ontwikkelen van een app met privégegevens en mag geen echte schermafbeelding weergeven in de recente app-switcher van Android. Ik heb een variatie van geprobeerd deze oplossing, door de inhoudsweergave in te stellen op een ImageView in de onPause-functie, maar het lijkt erop dat het besturingssysteem een ​​screenshot maakt voordat de inhoudsweergave wordt gewijzigd in de aangepaste afbeelding.

Ik ben me ook bewust van instellen van de parameter vlaggen van het venster om te beveiligen, het screenshot volledig wit maken, maar ik hoop dat er een manier is om de schermafbeelding aan te passen.

Dus ik vraag me af op welk punt dat Android een schermafbeelding van de app maakt voor de app-switcher (met name in KitKat en Lollipop).


21
2018-06-23 19:17


oorsprong


antwoorden:


BEWERK

Het is niet langer mogelijk om de schermafbeelding aan te passen die het systeem gebruikt om de miniatuur in de recente apps te presenteren.

Oud antwoord

Bekijk de methode Activity.onCreateThumbnail - dit is precies wat je zoekt, want het laat je je eigen thumbnail maken voor het Recente scherm.

Jij krijgt Canvas als een van de parameters waarin je direct kunt tekenen (of helemaal niet kunt tekenen). Het belangrijkste punt is dat je moet terugkeren true van deze methode, die aangeeft dat het systeem zelf geen miniatuur zal tekenen.

De eenvoudigste oplossing zou zijn:

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

of als je je eigen wilt tekenen 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;
}

11
2018-06-23 19:41