Android:使用FLAG_SECURE时改变窗口背景颜色



我有一个请求,当我的Android应用程序被放置到后台,我空白的屏幕,以隐藏敏感数据。这很容易实现,使用:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

困难的部分似乎是改变你在后台查看应用程序时得到的空白屏幕的颜色。默认情况下,它似乎是白色的,我似乎找不到一种方法来覆盖它。有人有什么想法吗?

遗憾的是,您无法自定义最近视图中缩略图的颜色。

你可以在TaskViewThumbnail中看到缩略图的默认颜色(0xffffffff)是硬编码的,所以它是不可自定义的:

/** Updates the paint to draw the thumbnail. */
void updateThumbnailPaintFilter() {
    if (mInvisible) {
        return;
    }
    int mul = (int) ((1.0f - mDimAlpha) * mThumbnailAlpha * 255);
    int add = (int) ((1.0f - mDimAlpha) * (1 - mThumbnailAlpha) * 255);
    if (mBitmapShader != null) {
        mLightingColorFilter.setColorMultiply(Color.argb(255, mul, mul, mul));
        mLightingColorFilter.setColorAdd(Color.argb(0, add, add, add));
        mDrawPaint.setColorFilter(mLightingColorFilter);
        mDrawPaint.setColor(0xffffffff);
    } else {
        int grey = mul + add;
        mDrawPaint.setColorFilter(null);
        mDrawPaint.setColor(Color.argb(255, grey, grey, grey));
    }
    invalidate();
}

最新更新